ASP.Net 网站 - 发布不会移动所有文件

ASP.Net Website - publishing doesn't move all files

发布我的 ASP.Net 网站(不是 Web 应用程序)时,发布者不包含 web.config 旁边的 Web.ConnectionStrings.config 文件。这是必需的,因为我的网络配置如下所示:

<connectionStrings configSource="Web.ConnectionStrings.config"/>

如何让 File System Publish 包含 Visual Studio 似乎忽略的文件。请注意,这是在 Visual Studio 中使用 [文件] > [新建网站] 创建的网站,而不是 [文件] > [新建项目] ASP.Net 站点,因此 Content=Include 将无法运行。

重现步骤:

  1. 在 Visual Studio 中:文件 > 新建 > 网站..
  2. 创建 Web.ConnectionStrings.config xml 文档(参见下面的 ConnectionStrings.config 代码)。
  3. 在 Web 配置中 link 将 Web.ConnectionStrings.config 文件上移到 Web.Config 文件(参见下面的 Web.config 代码)
  4. 将网站发布到文件系统上的文件夹中,Web.ConnectionStrings.config 不会随其他文件一起移动。

Web.config:

<configuration>
  <connectionStrings configSource="Web.ConnectionStrings.config"/>
  ..

Web.ConnectionStrings.config:

<?xml version="1.0" encoding="utf-8" ?>
<connectionStrings>
  <add name="connString" connectionString="yourConnectionstringhere"/>
</connectionStrings>

我认为这篇文章会有所帮助 https://docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/visual-studio-web-deployment/deploying-extra-files

基本上,您编辑图片 .pubxml 文件以告诉它在部署期间包含其他文件

您发布网站的方式还可以。

但是存储连接字符串的文件的名称不能以前缀 web. 开头,只需将其命名为 connectionstrings.config

web.config 你输入:

<configuration>
  <connectionStrings configSource="connectionStrings.config"/>

在重命名的文件中 connectionstrings.config 您放置:

<?xml version="1.0" encoding="utf-8" ?>
<connectionStrings>
  <add name="connString" connectionString="yourConnectionstringhere"/>
</connectionStrings>