我有几个项目的解决方案:
MyLibrary (a VB.NET dll)
.dll
app.config
MyService (C# Windows Service with ProjectInstaller)
.exe
app.config
MyGui (C# WinForms app)
.exe
我添加了一个安装项目并添加了所有三个项目的主要输出。我已将所有三个项目输出添加到自定义操作部分。事情是无论我做什么我都无法将MyLibrary.dll.config安装到应用程序文件夹中。 .config文件位于project \ bin \ debug文件夹中,但不在应用程序文件夹中。我做错了什么?
答案 0 :(得分:3)
我能找到的解决方案是手动将文件添加到安装项目中。
答案 1 :(得分:2)
使用添加 - >项目输出并选择内容文件
答案 2 :(得分:1)
确保项目主输出上的ExcludeFilter属性不包含* .config,我认为默认启用此ID
答案 3 :(得分:1)
请注意。即使你为你的dll添加了app.config,你的exe也会默认忽略它。换句话说,如果您正在运行使用您的dll的exe,则不会加载dll的配置文件。您可能想要做的是将相关部分添加到您的exe的app.config中。您只需将dll .config文件的configSection标记下的部分添加到exe的app.config的configSections中,然后将userSetting和applicationSettings添加到exe的app.config中。
或者您可以在exe中手动加载dll的配置。
答案 4 :(得分:0)
当您在“应用程序文件夹”中包含主要输出时,将添加配置和其他必需文件。
安装完设置后,在安装文件夹中,它可能是exename.exe,该类型是'配置文件'。
但是,您仍然无法找到配置文件,请通过“应用程序”文件夹中的“添加文件”手动将其包含在内。
请参考以下链接。
http://balanagaraj.wordpress.com/2007/05/29/create-exe-or-setup-file-in-net-windows-application/
答案 5 :(得分:0)
这是所选答案的方式:
在要包含的app.config中,在文件的“属性”下,将“构建操作”设置为“内容”,将“复制到输出目录”设置为“总是复制”。在安装程序的“指定应用程序数据”->“包含的文件”下的“ Project.Contents文件”下。这将在输出中获取app.config。
但是: 我无法从安装程序输出中的app.config文件创建MyApplication.exe.config。在我的项目中,我必须将app.config重命名为MyApplication.exe.config,然后它才能工作。