ASP.NET 编译工具不编译 .cshtml 文件


@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文件

有谁知道为什么我会在同一源代码的两台机器上出现这种不匹配?

在编译工具查看此链接 ASP.NET 后,我删除了脚本中的最后一个-u,从而解决了问题。

使用此选项时,不会编译.aspx文件中的代码块(即,位于脚本元素中或介于 <% 和 %> 标记之间的代码(。因此,如果这些代码块中存在编译错误,则只会在运行时看到该错误,因为.aspx文件只有在那时才会完全编译。对于依赖于.aspx文件中的代码块的网站使用此选项通常是不安全的。

最新更新