Visual Studio 2013 вызывает 32-битный aspnet_compiler вместо 64-битного
Мое решение содержит несколько проектов .net, и одним из них является проект ASP.NET MVC, который яЯ пытаюсь опубликовать. Все конфигурации установлены правильно, x32 и x64, ни одна из них не установлена на AnyCPU.
Проблема:
Если я пытаюсь опубликовать проект как 32-битный, все в порядке, но попытка опубликовать в 64-битном режиме не удается с ошибкой:
Could not load file or assembly "ProjectA" or one of its dependencies.
An attempt was made to load a program with an incorrect format.
Что я'попробовал и заметил:
Начиная с VS 2013, MSbuild является частью VS, а не .NET Framework, как раньше. Если я просто создаю решение в режиме x64, 32-разрядная версия msbuild"C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe"
запускается первым и запускает 64-битную сборку"C:\Program Files (x86)\MSBuild\12.0\Bin\amd64\MSBuild.exe"
Так что нормальная сборка без публикации работает просто отлично.
Но если я выберуpublish
сначала запускается 32-битная MSbuild, а затем запускается 32-битный aspnet_compilerc:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_compiler.exe
а НЕ 64-битный, который вызывает ошибку, о которой я упоминал выше.
Единственный обходной путь, который янашел до сих пор, чтобы заменить
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe"
с 64 битным
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_compiler.exe"
Вопрос:
Есть ли лучшее (юридическое) решение для моей проблемы? Это похоже на ошибку в VS