微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc – 在Azure中预编译ASP.NET MVC项目(不与Web部署)

我想预编译ASP.NET MVC 4站点,但在Azure Web角色中.这是非常好的如何捕获cshtml视图错误.

这可以很容易地通过Web部署完成,只需在“发布” – “gt”中检查几个相应的框.文件发布选项.

但是当您有多个Webrole实例时,您将不会使用Web Deploy.而在项目设置(在“构建”或“封装/发布Web”选项卡中)中,我没有看到任何选项来指定这些预编译构建选项.

有没有办法在项目级别指定预编译选项?我不喜欢任何需要离开工作流程的工作流程,可以通过简单(但缓慢的)“发布到Windows Azure”选项(即我不想以某种方式手动上传)天蓝云包,根本没有).

解决方法

以下可能不是所有人都希望的,我希望Visual Studio团队可以添加一个简单的UI项目设置切换来执行相同的操作(这可能是一个非常微不足道的任务),但是这里是一个发现问题的方式获取cshtml剃刀文件编译.不幸的是,虽然它发生在每一个构建,这实际上是一个很慢,但如果你将此设置为仅发布,那么这是一个很好的妥协:

转到项目文件夹(右键单击VS中的项目,– >打开文件夹…),找到.csproj文件,在记事本中打开它(当然),然后在xml的根目录中找到几个PropertyGroups (‘Project’)具有此条件的PropertyGroup,它仅指定特定于Release模式的设置(还有一个用于Debug,您可以对此进行相同的操作):

<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项目设置.

我想这回答了我原来的问题:“有什么办法可以在项目级别指定预编译选项吗?”我找到了我认为在网路上的答案,我不记得现在在哪里,我确定它在其他地方.感谢大卫再次对这个问题做了解释.

原文地址:https://www.jb51.cc/aspnet/250050.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐