C# 未在windows应用程序上创建appname.exe.config

C# 未在windows应用程序上创建appname.exe.config,c#,app-config,C#,App Config,当我构建windows应用程序时。它无法工作,因为它无法读取我的app.config文件。我查看了bin目录,它没有appname.exe.config文件。如果我手动复制app.config并将其重命名为appname.exe.config,应用程序将正常工作。但是,当我构建项目时,此文件从未自动创建。我错过了什么?为什么我的项目没有创建它?我已经查看了整个文件夹结构,没有其他配置文件。假设您正在使用Visual Studio,请在解决方案资源管理器中单击配置文件,然后在“属性”面板中,将“复

当我构建windows应用程序时。它无法工作,因为它无法读取我的app.config文件。我查看了bin目录,它没有appname.exe.config文件。如果我手动复制app.config并将其重命名为appname.exe.config,应用程序将正常工作。但是,当我构建项目时,此文件从未自动创建。我错过了什么?为什么我的项目没有创建它?我已经查看了整个文件夹结构,没有其他配置文件。

假设您正在使用Visual Studio,请在解决方案资源管理器中单击配置文件,然后在“属性”面板中,将“复制到输出目录”设为“不复制”以外的内容。

查看App.config属性,应该是:
构建操作:无
CopyToOutputDirectory:不复制
自定义工具和自定义工具命名空间应为空


也尝试重建项目。右键单击project->Rebuild

我认为这里的每个人都在给你错误的信息。我认为@bowlturner是对的。根据微软的说法,您确实需要将
app.config
Copy to output directory
属性设置为
Copy Always
Copy if newer
。发件人:

在Visual Studio中开发时,请将应用程序的源配置文件放置在项目目录中,并将其“复制到输出目录”属性设置为“始终复制”,或者如果较新,则设置为“复制”。配置文件的名称是扩展名为.config的应用程序的名称。例如,名为myApp.exe的应用程序应具有名为myApp.exe.config的源配置文件

VisualStudio会自动将源配置文件复制到已编译程序集所在的目录,以创建随应用程序一起部署的输出配置文件


正确的设置包括:

  • buildaction=None
  • Copy to Output Directory=不复制
非常重要的是,项目文件需要包含以下元素:



对我来说唯一有效的方法就是完全删除bin\和obj\。重新生成并创建好文件。

在属性中,是否将“复制本地”设置为true?@bowlturner--默认情况下它没有设置为true。@roryap这就是我问的原因。@bowlturner--我的意思是它不需要设置为true。无论如何都应该生成该文件。什么是windows应用程序?您的项目模板是什么?它将把
App.Config
放在输出文件夹中,而不是
appname.exe.Config
Visual Studio自动将源配置文件复制到放置已编译程序集的目录中,以创建随应用部署的输出配置文件。这意味着您不需要将“复制到输出目录”设置为
Copy Always
Copy if newer
,但这就是问题所在。使用这些设置中的任何一个都不会创建它。@dotctor--是,如果您将属性设置为
始终复制
,或
复制(如果更新)
。阅读上面的一行:在Visual Studio中开发时,将应用程序的源配置文件放在项目目录中,并将其“复制到输出目录”属性设置为“始终复制”。创建一个简单控制台或winforms应用程序并查看app.config上的属性。@GregP-删除app.config文件。然后右键单击您的项目,并选择添加,添加新项目。在列表中找到“应用程序配置文件”并将其添加。可能尝试创建新项目,看看是否出现问题。这是我的下一次尝试。午餐后将尝试。我尝试了一个新项目,但仍然没有创建此文件。请根据我的经验确认更多详细信息:我在使用Visual Studio 2019(16.9.4)时刚刚遇到这种情况构建.NET 4.7.2控制台应用程序。我将App.config复制到项目中,并且在生成项目时,它不会替换bin文件夹中的默认appname.exe.config。尝试了各种清理/重建/删除垃圾箱内容的组合;最后,删除bin/obj文件夹本身修复了它。