【问题标题】:ASP.NET Compilation Tool not compiling .cshtml filesASP.NET 编译工具不编译 .cshtml 文件
【发布时间】:2015-03-10 15:23:25
【问题描述】:
@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 文件未创建

有人知道为什么我会在同一源代码的两台机器上得到这种不匹配吗?

【问题讨论】:

  • 恐怕链接的重复文章与我遇到的问题无关。我的观点已经出现编译时错误。我遇到的问题是,当我在部署之前使用“Aspnet_compiler”预编译我的 MVC 项目时,就像我原始帖子中的批处理脚本一样,编译后的代码不会选择对我的视图所做的更改。部署时,视图中的新编辑/删除不会反映在编译的代码中。就好像没有进行任何更改,而在另一台机器上,这些更改是由编译的代码选择的。
  • 我需要将.cshtml文件编译到虚拟路径的bin文件夹中!

标签: asp.net-mvc asp.net-mvc-3 razor aspnet-compiler


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-21
    • 1970-01-01
    • 2015-01-05
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    相关资源
    最近更新 更多