@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网站。成功执行后,从一台计算机上将所有.cshtml文件复制到虚拟路径bin目录。此外,还会创建一个新的App_Web_********.dll
文件。
从另一台计算机上,没有.cshtml被复制到虚拟路径bin文件夹&因此,在部署编译代码时,不会反映视图中所做的最新更改。此外,新的App_Web_********.dll
文件未创建
有没有人知道为什么我会在同一源代码的两台机器上出现这种不匹配?
答案 0 :(得分:1)
在审核此链接ASP.NET Compilation Tool后,我删除了我脚本中的最后一个-u
,这解决了问题。
使用此选项时,不会编译.aspx文件中的代码块(即脚本元素中的代码或<%和%>标记之间的代码)。因此,如果这些代码块中存在编译错误,您将仅在运行时看到错误,因为.aspx文件仅在此时完全编译。对于依赖.aspx文件中的代码块的站点使用此选项通常是不安全的。