我们的WDP存在一些问题,它正在部署ASP.NET 4.0站点。它似乎一切正常,但是当它部署时,我们得到System.BadImageFormatException: Bad binary signature. (Exception from HRESULT: 0x80131192)
错误,当出现一个特定的页面 - 从其他读取出现 - 可能与WDP默认使用的aspnet_merge版本有关。
事情是,我们刚刚更换了所有的机器,并且在旧机器上运行良好。
我已经找到了如何在Microsoft.WebDeployments.Targets
文件(enter link description here)中指定哪个版本,但不相信它实际上正在使用它...
<AspnetMergeName>aspnet_merge.exe</AspnetMergeName>
<!-- OLD
<AspnetMergePath>$(MSBuildExtensionsPath)\Microsoft\WebDeployment\v10.0</AspnetMergePath>
<AspnetMergePath Condition="Exists('$(TargetFrameworkSDKDirectoryBin)$(AspnetMergeName)')">$(TargetFrameworkSDKDirectoryBin)</AspnetMergePath>
-->
<AspnetMergePath>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools</AspnetMergePath>
<AspnetMergePath Condition="'$(TargetFrameworkVersion)' == 'v4.0'">C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools</AspnetMergePath>
我从这里得到了路径:http://msdn.microsoft.com/en-US/library/bb397866.aspx#findingthecorrectversion 有没有办法直接在wdproj文件中设置aspnet_merge的路径?
这一切都假设这首先是问题所在..
感谢
NAT