以下可能不是人们想要的一切,我希望 Visual Studio 团队可以添加一个简单的 UI 项目设置切换来做同样的事情(这可能是一个非常微不足道的任务),但这是我在问这个问题后发现的一种方法编译 cshtml razor 文件。不幸的是,虽然它发生在每个构建上,这确实慢了很多,但如果你只在 Release 上设置它,那么这是一个很好的折衷方案:
转到你的项目文件夹(在VS中右键单击项目,-> 打开文件夹...),找到.csproj文件,在记事本中打开它(当然是++),然后PropertyGroup
在根目录下找到几个s xml ('Project') aPropertyGroup
具有此条件,它仅指定特定于发布模式的设置(还有另一个用于调试,您可以在其上执行相同的操作):
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<MvcBuildViews>true</MvcBuildViews>
<NoWarn>162, 168, 169, 219, 414, 612, 618, 649, 1591</NoWarn>
</PropertyGroup>
只需添加MvcBuildViews
元素(或者如果它已经存在则从 false 更改)并确保该值是 true,然后突然间,您会注意到每次构建都需要更长的时间 [在此处插入笑脸眨眼表情]。但是你确实得到了你的剃刀代码的编译,它会像你想要的那样捕获错误,非常好。所以团队已经有了这个,奇怪的是他们没有将 UI 选项添加到 MVC 项目设置中。
我想这回答了我最初的问题:“有没有办法可以在项目级别指定预编译选项?” 我在网上某处找到了我认为的答案,我不记得现在在哪里,而且我确信它也在其他地方。感谢大卫再次阐明了这个问题。