ASP.NET:发布网站不发布Resources文件夹

时间:2015-09-02 19:40:11

标签: c# asp.net azure visual-studio-2015

我有一个用ASP.NET开发的网站。我正在使用Visual Studio 2015.当我右键单击并点击发布网站时,该网站会正确发布,但我的资源文件夹会被遗忘。下面是Visual Studio中解决方案资源管理器的样子

enter image description here

但是我在这里发布之后是放在Azure上的文件(通过FileZilla访问)

enter image description here

如何告诉Visual Studio将Resources文件夹与网站的其余部分一起发布?

4 个答案:

答案 0 :(得分:17)

可能的答案

  1. 打开解决方案资源管理器。
  2. 右键单击Resources目录中的一个文件。
  3. 选择“属性”。
  4. 您现在需要设置两个属性。

    Build Action                      Content
    Copy to Output Directory          Do not copy
    

    对要作为内容发布到Web服务器的所有文件执行此操作。

    Web服务器内容的文件属性

    File Properties for Web Server Content

    文件属性备注

    构建操作属性指示Visual Studio在执行构建时对文件执行的操作。构建操作可以具有以下几个值之一:

    • 无。 不是您想要的。该文件未包含在项目输出组中,也未在构建过程中编译。一个示例是一个文本文件,其中包含您不希望发布到Web服务器的文档,例如自述文件。

    • 编译。 不是您想要的。将文件编译到构建输出中。此设置用于代码文件。换句话说,我们编译文件并将其粘贴到bin目录中。

    • 内容。 这就是您想要的。该文件未编译,但包含在内容输出组中。例如,此设置是.htm或其他类型的Web文件的默认值。 “内容输出组”是Visual Studio将发布的文件列表,同时还保持相同的目录结构。

    • 嵌入式资源。 不是您想要的。此文件作为DLL或可执行文件嵌入在主项目构建输出中。它通常用于资源文件。换句话说,它不仅会进入bin目录,还会嵌入.dll.exe文件中。

    复制到输出目录。此属性指定将所选源文件复制到输出目录的条件。输出目录通常是bin

    另见

    What are the various "Build action" settings in Visual Studio project properties and what do they do?

    File Properties on MSDN

答案 1 :(得分:1)

添加要发布的资源的步骤(Visual Studio 2017):

1)右键单击资源文件夹,然后选择“包含在项目中”

Include In Project

2)现在你应该在图片的属性上看到构建动作:内容

enter image description here

答案 2 :(得分:1)

如果像我一样,您正在使用Visual Studio 2019,只需右键单击该文件夹,然后选择发布“文件夹名称”

答案 3 :(得分:-2)

确保您的Resources文件夹中的内容具有正确的"复制到输出目录"属性。右键单击要复制的文件,选择“属性”,然后在“高级”部分中,查看“复制到输出目录”下的值。通常这被设置为"不要复制"默认情况下,因为大多数内容都打包在.dll中。将其更改为"如果更新则更改"让它带来文件。它也会带来文件夹结构。

相关问题