我今天正在写我的第一个剃刀页面,无法弄清楚如何进入 #if debug #else #endif
如何在剃刀中输入预处理器?
如果我看Razor视图引擎,然后我看到一个非常漂亮和简洁的语法并不特别依赖于生成HTML.所以我想,这将是多么容易使用在发动机外部asp.net中的一个"正常"的.NET环境,例如生成文本,代码,...
欢迎使用任何指针,示例,注释或解释.
我有一个ASP MVC视图,其中有以下语句
#if DEBUG
//section 1
//do stuff
#else
//section 2
//do other stuff
#endif
Run Code Online (Sandbox Code Playgroud)
在visual studio中,我从下拉列表中选择发布配置来进行构建,代码仍然会逐步完成第1部分.
在解决方案配置属性中,解决方案的所有子项目都设置为发布配置.
我没有到这里来的是什么?
在我的项目的"属性"中,我有以下内容:

我想检查TEST符号是否存在,然后才做一些事情.所以我做了你在下面的图片和它所在的课程中所看到的.但是这在视图中不起作用.

即使TEST已定义,此块中的文本也是灰色的!
如果TEST定义了,我怎么能使它工作?
在stackoverflow上阅读这篇文章想要在编译发布模式时加载不同的css.
码:
@{ #if (Debug)
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
#else
<link href="@Url.Content("~/Content/Site-min.css")" rel="stylesheet" type="text/css" />
#endif
}
Run Code Online (Sandbox Code Playgroud)
尝试2
@{ #if (Debug) }
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
@{ #else }
<link href="@Url.Content("~/Content/Site-min.css")" rel="stylesheet" type="text/css" />
@{ #endif }
Run Code Online (Sandbox Code Playgroud)
我尝试以大写形式进行DEBUG但是在编译Debug to Release时没有任何改变没有效果
conditional-compilation visual-studio-2010 razor c#-4.0 asp.net-mvc-3
我正在使用ASP.NET MVC 5来开发我的网站.我正在使用Grunt来缩小我的CSS和JS.一切正常,但如果我正在进行发布(发布模式)或者我正在调试(我需要清楚地阅读我的CSS和JS),我需要更改文件的路由源.
像这样的东西:
[调试模式]
<script src="scripts/myscript.js"></script>
Run Code Online (Sandbox Code Playgroud)
[相对模式或公共模式]
<script src="dist/myscript.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
我已经在StackOverflow(Razor视图引擎,如何进入预处理器(#if debug))上阅读了这篇文章,我不喜欢所提出的解决方案,因为我认为(不确定)加载的Razon View将始终在生产中检查服务器,如果它处于发布或调试模式,我认为没有必要.
有人可以确认我是对的吗?我是否需要手动进行更改?还有其他方法吗?
谢谢!!问候!!
asp.net-mvc ×4
razor ×4
asp.net ×1
c#-4.0 ×1
debugging ×1
preprocessor ×1
razorengine ×1
templating ×1
views ×1