我正试图构建一个web部署项目2010年的解决方案。我已经在构建服务器上安装了Windows和WebDeploymentProject2010RTW,并复制了缺少的用于.target的MSBuild文件。
当试图构建项目时,它会发出以下错误
程序Files\MSBuild\Microsoft\WebDeployment\v10.0\Microsoft.WebDeployment.targets(1589,9):错误MSB6004:指定的任务可执行位置“C:\
MSB6004无效。
不幸的是,在Google周围搜索关于这个错误的结果并不能显示出任何有价值的东西。任何帮助,以使TeamCity成功构建web部署项目将不胜感激。
发布于 2012-09-07 08:54:57
更合适的解决方案应该是在TargetFrameworkSDKDirectoryBin文件中设置.wdproj属性。例如:
<TargetFrameworkSDKDirectoryBin>C:\Programmi\Microsoft SDKs\Windows\v7.1\Bin\</TargetFrameworkSDKDirectoryBin>此设置在.dtproj文件中使用,覆盖在Microsoft.WebDeployment.targets中定义的默认设置,如下所示
<Target
Name="GetAspNetMergePath"
DependsOnTargets="$(GetAspNetMergePathDependsOn)">
<PropertyGroup>
<AspnetMergeName>aspnet_merge.exe</AspnetMergeName>
<AspnetMergePath>$(MSBuildExtensionsPath)\Microsoft\WebDeployment\v10.0</AspnetMergePath>
<AspnetMergePath Condition="Exists('$(TargetFrameworkSDKDirectoryBin)$(AspnetMergeName)')">$(TargetFrameworkSDKDirectoryBin)</AspnetMergePath>
</PropertyGroup>
</Target>第二个AspnetMergePath意味着,如果在其他地方存在指向现有aspnet_merge.exe文件的$(TargetFrameworkSDKDirectoryBin),则将使用该文件。
发布于 2011-07-08 09:56:10
好的,您的aspnet_merge被指向了错误的位置--在我的构建脚本中,我的结果如下:
<ItemGroup>
<ASPNETPath Include="F:\Program Files\Microsoft SDKs\Windows\v6.0A\bin" />
</ItemGroup>
<Target Name="ASPNET Merge">
<AspNetMerge
ExePath="@(ASPNETPath)"
ApplicationPath=".\Release"
SingleAssemblyName="CoreMicrosite"
/>
</Target>试试看
发布于 2012-04-18 13:22:16
更改文件"Microsoft.WebDeployment.targets“中第1562行的以下节点:
<Target
Name="GetAspNetMergePath"
DependsOnTargets="$(GetAspNetMergePathDependsOn)">
<PropertyGroup>
<AspnetMergeName>aspnet_merge.exe</AspnetMergeName>
<!-- OLD
<AspnetMergePath>$(MSBuildExtensionsPath)\Microsoft\WebDeployment\v10.0</AspnetMergePath>
<AspnetMergePath Condition="Exists('$(TargetFrameworkSDKDirectoryBin)$(AspnetMergeName)')">$(TargetFrameworkSDKDirectoryBin)</AspnetMergePath>
-->
<AspnetMergePath>C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\</AspnetMergePath>
<AspnetMergePath Condition=" '$(TargetFrameworkVersion)' == 'v4.0' ">C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\</AspnetMergePath>
</PropertyGroup>
</Target>我在适当的Microsoft页面上添加了一个变通的注释:
http://connect.microsoft.com/VisualStudio/feedback/details/706047/visual-studio-2010-web-deployment
https://stackoverflow.com/questions/6611370
复制相似问题