You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RCL中新增cshtml文件自动被项目文件移除的原因及预防咨询

问题解答

代码由谁添加?

这段代码是Visual Studio针对Razor类库(RCL)的默认构建规则自动生成的。RCL的默认设计是将视图文件编译为嵌入式资源(EmbeddedResource),同时移除其Content属性——这么做是为了让视图文件嵌入到程序集内部,但副作用就是引用该RCL的其他项目无法直接识别并使用这些视图文件。

如何避免此类情况再次发生?

直接在RCL的.csproj文件中添加全局规则,覆盖默认的文件处理逻辑,让所有Views目录下的.cshtml文件默认以Content类型被识别:

<ItemGroup>
  <!-- 让Views下所有cshtml文件都作为Content类型 -->
  <Content Include="Views\**\*.cshtml" />
  <!-- 移除默认的嵌入式资源标记 -->
  <EmbeddedResource Remove="Views\**\*.cshtml" />
</ItemGroup>

添加这段配置后,后续新增的.cshtml文件会自动套用这个规则,不会再生成那些导致问题的Content Remove和EmbeddedResource Include代码,彻底解决遗忘删除的麻烦。

内容的提问来源于stack exchange,提问作者cheny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 08:39:58