2014-09-12 2 views
0

Я запускаю MSBuild на нашем новом сервере сборки для проекта ASP.Net MVC 5 C# using.Net v4.5, но получаю следующее исключение, но я не могу найти никаких ресурсов на нем.-2146232576 Ошибка MSBuild

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Transform\Microsoft.Web.Publishing.AspNetCompileMerge.targets(516, 5): 
error MSB6006: "aspnet_merge.exe" exited with code -2146232576 

Включение многословия для MSBuild Я получаю следующее.

[MyApp.csproj.teamcity] AspNetMerge 
[22:19:22][AspNetMerge] Using "AspNetMerge" task from assembly "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Transform\..\Microsoft.Web.Publishing.Tasks.dll". 
[22:19:22][AspNetMerge] AspNetMerge 
[22:19:22][AspNetMerge] Running aspnet_merge.exe. 
[22:19:22][AspNetMerge] C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\aspnet_merge.exe C:\TeamCity\buildAgent\work\9cfa4fd6593d694d\MyApp\obj\Release\AspnetCompileMerge\TempBuildDir -o MyApp.Merged -copyattrs obj\Release\AssemblyInfo\AssemblyInfo.dll -a 
[22:19:22][AspNetMerge] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Transform\Microsoft.Web.Publishing.AspNetCompileMerge.targets(516, 5): error MSB6006: "aspnet_merge.exe" exited with code -2146232576. 

После траления с помощью различных статей, сайтов и форумов я до сих пор не нашел окончательный ответ. Однако это привело меня к установке .Net Framework версии 3.5 на нашем сервере сборки (который включает в себя .Net версию 2.0), и он изменил исключение на более общий asp_net merge one. Однако я действительно не получаю достаточную информацию для выяснения того, что не так, я все еще чувствую, что это связано с моей первоначальной проблемой.

[MyProject.csproj.teamcity] AspNetMerge (4s) 
[18:46:36][AspNetMerge] Using "AspNetMerge" task from assembly "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Transform\..\Microsoft.Web.Publishing.Tasks.dll". 
[18:46:36][AspNetMerge] AspNetMerge (4s) 
[18:46:36][AspNetMerge] Running aspnet_merge.exe. 
[18:46:36][AspNetMerge] C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\aspnet_merge.exe C:\TeamCity\buildAgent\work\9cfa4fd6593d694d\MyProject\obj\Release\AspnetCompileMerge\TempBuildDir -o MyProject.Merged -copyattrs obj\Release\AssemblyInfo\AssemblyInfo.dll -a 
[18:46:36][AspNetMerge] Utility to merge precompiled ASP.NET assemblies. Version 3.5.30729. 
[18:46:36][AspNetMerge] Copyright (c) Microsoft Corporation 2007. All rights reserved. 
[18:46:36][AspNetMerge] 
[18:46:40][AspNetMerge] aspnet_merge error occurred: An error occurred when merging assemblies: Unresolved assembly reference not allowed: System.Web. 
[18:46:40][AspNetMerge] The command exited with code 1. 
+0

Информация, приведенная выше, очень мало для продолжения. Добавьте многословность к вызову msbuild.exe. msbuild.exe MySolution.sln/t: Rebuild/p: Configuration = Release/verbosity: подробно – granadaCoder

+0

Включение многословности привело к следующему выводу: перед этими строками происходит гораздо больше, но это раздел, который показывает ошибку. Спасибо за помощь. – fungus1487

+0

Вы проверяли похожие сообщения? http://geekswithblogs.net/michelotti/archive/2006/07/31/86754.aspx –

ответ

1

Выключает после проб и ошибок (много), что путь AspNetMerge неверен.

файл по адресу:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Transform\Microsoft.Web.Publishing.AspNetCompileMerge.targets 

имеет раздел, который указывал на:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0\bin\ 

С тех пор я изменил раздел .targets выглядеть следующим образом:

<PropertyGroup> 
    <AspnetMergeName>aspnet_merge.exe</AspnetMergeName> 
    <AspnetMergePath>C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\</AspnetMergePath> 
</PropertyGroup> 

Все строит так, как планировалось.

1

Просто добавление к тому, на что уже был дан ответ.

Наш случай: мы установили 4.5.1 sdk на нашем сервере сборки (Ccnet), который уже создавал решения v4.0 и останавливался после установки sdk.

Решение: Изменен путь в папке «C: \ Program Files (x86) \ MSBuild \ Microsoft \ WebDeployment \ v10.0 \ Microsoft.WebDeployment.targets" на "C: \ Program Files \ Microsoft SDK \ Windows \ v7.1 \ Bin \ NETFX 4.0 Инструменты \ x64 "

Надеюсь, что это поможет.

Смежные вопросы