Использование проектов веб-развертывания Visual Studio 2008 - получение сообщения об ошибке aspnet_merge.exe
-
09-06-2019 - |
Вопрос
Недавно я обновил проект веб-развертывания VS2005 до VS2008 - и теперь я получаю следующую ошибку при сборке:
The specified task executable location "bin\aspnet_merge.exe" is invalid.
Вот источник ошибки (из файла целей веб-развертывания):
<Target Name="AspNetMerge" Condition="'$(UseMerge)' == 'true'" DependsOnTargets="$(MergeDependsOn)">
<AspNetMerge
ExePath="$(FrameworkSDKDir)bin"
ApplicationPath="$(TempBuildDir)"
KeyFile="$(_FullKeyFile)"
DelaySign="$(DelaySign)"
Prefix="$(AssemblyPrefixName)"
SingleAssemblyName="$(SingleAssemblyName)"
Debug="$(DebugSymbols)"
Nologo="$(NoLogo)"
ContentAssemblyName="$(ContentAssemblyName)"
ErrorStack="$(ErrorStack)"
RemoveCompiledFiles="$(DeleteAppCodeCompiledFiles)"
CopyAttributes="$(CopyAssemblyAttributes)"
AssemblyInfo="$(AssemblyInfoDll)"
MergeXmlDocs="$(MergeXmlDocs)"
ErrorLogFile="$(MergeErrorLogFile)"
/>
Каково решение этой проблемы?
Примечание - я также создал проект веб-развертывания с нуля в VS2008 и получил ту же ошибку.
Решение
Очевидно, aspnet_merge.exe (и все другие инструменты SDK) НЕ упакованы в Visual Studio 2008.Visual Studio 2005 упаковала эти инструменты как часть своей установки.
Место, где это можно получить, - это установка Windows 2008 SDK (последняя загрузка).Windows 7 / Windows 2008 R2 SDK: здесь
Решение состоит в том, чтобы установить Windows SDK и убедиться, что вы установили FrameworkSDKDir в качестве переменной окружения перед запуском IDE.Пакетная команда для установки этой переменной:
SET FrameworkSDKDir="C:\Program Files\Microsoft SDKs\Windows\v6.1"
ПРИМЕЧАНИЕ:Вам нужно будет изменить, чтобы указать место, где вы установили SDK, если оно не находится в расположении по умолчанию.
Теперь VS2008 будет знать, где найти aspnet_merge.exe .
Другие советы
Я только что столкнулся с такой же проблемой, пытаясь использовать MSBuild для создания моего веб-приложения на сервере.Я скачал "веб" версию SDK, потому что размер установки составляет всего 500 КБ, и она запрашивает вас, какие компоненты установить, и загружает и устанавливает только те, которые вы выбираете.Я снял галочки со всего , кроме "Инструменты разработки .NET".Затем он загрузил и установил файлы объемом около 250 МБ, в том числе aspnet_merge.exe и sgen.exe
Вы можете загрузить программу установки winsdk_web.exe для Win 7 и .NET 3.5 с пакетом обновления 1 здесь.