加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 23:12:18 所属栏目:asp.Net 来源:网络整理
导读:我想预编译ASP.NET MVC 4站点,但在Azure Web角色中.这是非常好的如何捕获cshtml视图错误. 这可以很容易地通过Web部署完成,只需在“发布” – “gt”中检查几个相应的框.文件发布选项. 但是当您有多个WebRole实例时,您将不会使用Web Deploy.而在项目设置(在“
我想预编译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项目设置.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读