如何在csproj文件中包含一个文件但排除它在发布时被包含?

4
我们使用本地配置文件来存储数据库连接字符串,以便于我们需要将本地计算机连接到开发甚至是生产数据库时使用。该文件名为ConnectionStrings.local.config,被包含在我们的C#项目中,这样我们就可以轻松编辑它。
但是当我使用发布Web工具时,我不想将此文件包含在内,因为我们将使用配置转换将每个服务器上的连接字符串属性替换为真实数据源。
我修改了.csproj文件如下:

排除

但是,在发布后,ConnectionStrings.local.config文件仍然会显示在文件夹中。
如何在不从Visual Studio中排除文件的情况下移除它?
2个回答

5
在给定文件(来自Visual Studio)的属性窗口中,将“复制到输出目录”设置为“不复制”,并确保“生成操作”为“无”。
此外,您是否首先清除了目标目录?也许该文件是从以前的发布中留下的?默认情况下,发布不会“清理”目标目录。

0

排除文件的方法: 1. 在“解决方案资源管理器”中选择要排除的文件。 2. 在“属性”窗口中,选择“Exclude”属性并将其设置为true。


除非我弄错了,这两种方法也会将文件从.csproj中排除,而这正是OP特别不希望发生的事情。 - tmesser

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接