我刚刚安装了 Visual Studio 2012 的 Update 2,它引入了一个新的“发布”对话框。我试图让它做以前做的事情(在发布之前预编译网站),但我遇到了错误
"Can't find the valid AspnetMergePath"
这是从 Microsoft.Web.Publishing.AspNetCompileMerge.targets 文件中抛出的。我已经确认文件 aspnet_merge.exe 存在于我的计算机上的多个位置,但是
$(GetAspNetMergePath)
由于某种原因评估为空字符串。我一定缺少一些配置设置,但我以前从未弄乱过这些设置,所以我很困惑为什么会突然开始。
任何人都可以提供有关如何解决此问题的建议吗?我已经对这个错误进行了标准的谷歌搜索,但没有找到正确的解决方案。
我遇到了同样的问题。搜索了所有微软相关网站,发现很多投诉,而且微软无意修复它。
这是我如何在我的系统中解决这个问题的。编辑Microsoft.Web.Publishing.AspNetConfigurationMerge.targets
文件并添加以下行。请确保Microsoft SDK路径与您的PC上的相同,如果不同则更改它:
<TargetFrameworkSDKToolsDirectory>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\</TargetFrameworkSDKToolsDirectory>
它应该是这样的:
<Target
Name="GetAspNetMergePath"
DependsOnTargets="$(GetAspNetMergePathDependsOn)"
Condition ="'$(GetAspNetMergePath)' != 'false'">
<PropertyGroup>
<TargetFrameworkSDKToolsDirectory>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\</TargetFrameworkSDKToolsDirectory>
<AspnetMergeName>aspnet_merge.exe</AspnetMergeName>
<AspnetMergePath Condition="Exists('$(TargetFrameworkSDKToolsDirectory)$(AspnetMergeName)')">$(TargetFrameworkSDKToolsDirectory)</AspnetMergePath>
</PropertyGroup>
<Error Condition="'$(AspnetMergePath)' == '' Or !Exists($(AspnetMergePath))"
Text="Can't find the valid AspnetMergePath" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)