2015-03-05 4 views
1
@echo off 
C: 
Cd \ 
Cd Windows 
CD Microsoft.NET 
CD Framework 
CD v4.0.30319 
set /p phyPath= Enter Physical path in double quotes:- 
set /p virPath= Enter Virtual path in double quotes:- 
aspnet_compiler.exe -p %phyPath% -v/%virPath% -u 
echo process completed 
pause 

Я использую выше скрипт в пакетный файл для компиляции в ASP.NET MVC 3 website.When успешно выполнен, с одной машины, все мои файлы .cshtml скопированы в каталог виртуального пути. Также создается новый файл App_Web_********.dll.ASP.NET Компиляция Tool не компиляции .cshtml файлы

С другой машины копия .cshtml копируется в папку виртуального пути bin &. В результате последние изменения, сделанные в представлениях, не отражаются при развертывании скомпилированного кода. Кроме того, новый файл App_Web_********.dll является НЕ СОЗДАНО

знает любой, почему я мог получать это несоответствие на двух машинах на том же исходном коде?

+0

возможно дубликат [Compile представлений в ASP.NET MVC] (http://stackoverflow.com/questions/383192/compile-views-in-asp-net-mvc) – Dai

+0

Боюсь, связанный дубликат статьи не связано с тем вопросом, который у меня есть. У меня уже есть ошибки времени компиляции для моих просмотров. Проблема, с которой я сталкиваюсь, заключается в том, что когда я предварительно компилирую свой проект MVC перед развертыванием, используя «Aspnet_compiler», как в пакетном сценарии в моем исходном сообщении, скомпилированный код не выбирает изменений, внесенных в мои представления. Новые изменения/удаления в представлениях не отображаются в скомпилированном коде при развертывании. Как будто никаких изменений не было сделано, тогда как на другой машине эти изменения выбираются скомпилированным кодом. – StackTrace

+0

Мне нужно скомпилировать файлы .cshtml в папку bin виртуального пути! – StackTrace

ответ

1

Просмотрев эту ссылку ASP.NET Compilation Tool, я удалил последний -u в своем сценарии и решил эту проблему.

При использовании этой опции, блоки кода в ASPX-файлах (то есть код находится в элементах сценария или между <% и%> тегами) не составляется. Поэтому, если в этих кодовых блоках есть ошибки компиляции, вы увидите ошибку только во время выполнения, потому что файл .aspx полностью компилируется только тогда. В общем случае небезопасно использовать этот параметр для сайта, который использует блоки кода в файлах .aspx.

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