Tom*_*ell 7 asp.net msbuild teamcity web-deployment-project
我正在尝试为解决方案构建Web部署项目2010项目.我已在构建服务器上安装了Windows SDK和Web部署项目2010 RTW,并复制了.targetMSBuild 的缺失文件.
在尝试构建项目时,它会吐出以下错误
C:\ Program Files\MSBuild\Microsoft\WebDeployment\v10.0\Microsoft.WebDeployment.targets(1589,9):错误MSB6004:指定的任务可执行位置"C:\ Program Files\MSBuild\Microsoft\WebDeployment\v10. 0\aspnet_merge.exe"无效.
很遗憾,在Google上搜索有关此错误的结果并未发现任何有价值的内容.任何有助于TeamCity成功构建Web部署项目的帮助将不胜感激.
更合适的解决方案应该是TargetFrameworkSDKDirectoryBin在 .wdproj 文件中设置属性。例如:
<TargetFrameworkSDKDirectoryBin>C:\Programmi\Microsoft SDKs\Windows\v7.1\Bin\</TargetFrameworkSDKDirectoryBin>
Run Code Online (Sandbox Code Playgroud)
此设置在 .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>
Run Code Online (Sandbox Code Playgroud)
第二个AspnetMergePath意味着如果其他地方存在$(TargetFrameworkSDKDirectoryBin)指向现有 aspnet_merge.exe 文件的文件,则将使用该文件。
| 归档时间: |
|
| 查看次数: |
3026 次 |
| 最近记录: |