Проблемы с использованием aspnet_compiler для компиляции нового проекта ASP.NET MVC 3 - PullRequest
0 голосов
/ 21 марта 2011

Я недавно обновил проект в своем решении, чтобы использовать MVC 3 вместо MVC 2.

С тех пор, как я это сделал, и хотя он компилируется на моей машине, я получаю следующую ошибку на сервере:

/MyProject.csproj/global.asax (1,0):

    errorASPPARSE: Could not load type 'MyNamespace.MvcApplication'.

Есть идеи?

  • Он компилируется и работает нормально на моей машине.
  • Он компилируется на сервере, если я открываю его в VS.NET 2010.
  • Он компилируется на сервере через msbuild.

UPDATE : Точная команда, которая терпит неудачу, такова:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v /MyProject.csproj -p c:\cruisecontrol\trunk.project\checkout\Solution\Project -u -f .\TempBuildDir\ 

Если я открою VS.NET 2010 на сервере, скомпилирую его один раз вручную, тогда команда выполнится нормально.

Проблема в том, что мой CC.NET удаляет все, а затем извлекает его из системы контроля версий с нуля, поэтому этот подход не работает для меня. Хотя это интересно, потому что это странно.

ОБНОВЛЕНИЕ 2: Я смог воспроизвести это локально, так что это не проблема конкретно на сервере CC.NET.
Может ли кто-нибудь попытаться воспроизвести его?

Приложение MVC 3 с бритвой (хотя я сомневаюсь, что это что-то изменит), запустите на нем aspnet_compiler и посмотрите, не получится ли с этой ошибкой. Просто закройте VS.NET, как только он создаст решение и проект.

enter image description here

Этого не произойдет, если я скомпилирую его хотя бы один раз с Visual Studio

Если кто-то достаточно любезен, чтобы попробовать это, я могу исключить проблему на 2 машинах, которые я тестировал.

1 Ответ

0 голосов
/ 22 марта 2011

Очевидно, aspnet_compiler.exe требовал, чтобы каталог / bin существовал, поэтому при его сборке один раз с vs.net исправляются последовательные компиляции с использованием aspnet_compiler.exe.

Я не знаю, почему это работало до изменения моего приложения с mvc 2 на mvc 3, но я исправил это, изменив свойство в файле .wdproj

От

<SourceWebPhysicalPath>..\..\Project\</SourceWebPhysicalPath>

К

<SourceWebPhysicalPath>..\..\Project\bin</SourceWebPhysicalPath>

Источник

...