【问题标题】:Automatically add files as embedded自动将文件添加为嵌入式
【发布时间】:2015-01-08 11:58:41
【问题描述】:

我有一个模板服务,它使用RazorEngine 生成用于发送电子邮件的 HTML。

我想让向项目中添加新模板变得容易,这意味着我不想指定文件构建操作。

有没有办法让我的项目中仍然有带有智能感知等的 .cshtml 文件,但它会自动将它们的构建操作设置为嵌入式资源?

这是我的项目结构示例

【问题讨论】:

    标签: c# visual-studio razor msbuild


    【解决方案1】:

    Wildcard inclusions in C# project files

    但是,我们可以在指定这些文件时使用通配符。这是一个示例,其中包含一个文件夹(和所有子文件夹)中的所有 .py 文件: EmbeddedResource Include="Python27\Lib\**\*.py" 保存项目文件并在 Visual Studio 中重新加载后,您将看到解决方案资源管理器理解通配符并将填充与它匹配的所有文件。您可以将新的 .py 文件复制到目标目录,解决方案资源管理器将相应更新(您需要为此单击“刷新”按钮)。虽然它显示了通配符包含的结果,但它不会改变项目文件中的条目,这与“添加文件”对话框的行为不同。

    【讨论】:

    • 我已经尝试过这样的事情,但是当我将它添加到解决方案并重新加载时,我在解决方案资源管理器中列出了 2 个相同的文件
    • 它们是否引用同一个文件,并且其中一个是嵌入式资源,另一个不是嵌入式资源?
    • 这是同一个文件,一个带有 build action = none,另一个带有 build action = embeddedResource.. 当我在文件夹上使用“添加新项目”或“添加新现有”时会发生这种情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2021-08-29
    • 1970-01-01
    • 2012-04-12
    • 2021-11-20
    • 2016-07-27
    相关资源
    最近更新 更多