Более подходящим решением должно быть установить свойство 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
означает, что если где-то еще существует $(TargetFrameworkSDKDirectoryBin)
, указывающий на существующий файл aspnet_merge.exe, он будет использован.