Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ILMerge:将程序集合并到一个exe App.Config中_C#_C# 4.0_Console Application_Assemblies_Ilmerge - Fatal编程技术网

C# ILMerge:将程序集合并到一个exe App.Config中

C# ILMerge:将程序集合并到一个exe App.Config中,c#,c#-4.0,console-application,assemblies,ilmerge,C#,C# 4.0,Console Application,Assemblies,Ilmerge,我使用ILMerge将.ddl合并到一个可执行文件中,但是当我运行Output.exe时,它似乎找不到App.Config文件。它返回错误:InvalidOperationException:在应用程序配置文件中找不到连接字符串名称 我想知道ILMerge是否在Output.exe中包含App.Config文件 我如何才能不包括它,并确保Output.exe正在引用它 我使用了ILMerge GUI—这并没有给我包含除.dll之外的任何内容的选项—我从ConsoleApplication编译到的

我使用ILMerge将.ddl合并到一个可执行文件中,但是当我运行Output.exe时,它似乎找不到App.Config文件。它返回错误:InvalidOperationException:在应用程序配置文件中找不到连接字符串名称

我想知道ILMerge是否在Output.exe中包含App.Config文件

我如何才能不包括它,并确保Output.exe正在引用它

我使用了ILMerge GUI—这并没有给我包含除.dll之外的任何内容的选项—我从ConsoleApplication编译到的bin/Release文件夹中选择了.dll

下面是bin/Debug文件夹中的图像。ILMerge没有给我包含ConsoleLayer.vshost.exe.config的选项,它包含(基本上)App.config文件。如何使它包含它,以便Output.exe在运行时知道连接字符串的详细信息


谢谢

默认配置文件是
app\u name.exe.config
。您需要获取所需的配置文件并将其重命名以匹配exe文件。
在您的情况下,
Output.exe.config

默认配置文件是
app\u name.exe.config
。您需要获取所需的配置文件并将其重命名以匹配exe文件。
在您的情况下,
Output.exe.config

如果您已经找到了解决方案,那么这可能有点晚了,但是任何名称为vshost的文件通常都与应用程序中的调试模式相关联。这是您在调试模式下运行的应用程序。因此,当您单击application.exe运行应用程序时,它不会查找文件名中包含vshost的任何文件。它将查找application.exe.config。您可以关闭此选项进行调试

除非您计划在合并的exe中包含调试文件,否则我认为没有必要包含它。它只在调试时有用

以下是一些可能有帮助的链接

问题和答案


如果您已经找到了解决方案,那么这可能有点晚了,但是任何名称为vshost的文件通常都与应用程序中的调试模式相关联。这是您在调试模式下运行的应用程序。因此,当您单击application.exe运行应用程序时,它不会查找文件名中包含vshost的任何文件。它将查找application.exe.config。您可以关闭此选项进行调试

除非您计划在合并的exe中包含调试文件,否则我认为没有必要包含它。它只在调试时有用

以下是一些可能有帮助的链接

问题和答案


是否要将ConsoleLayer.vshost.exe.config文件(上面带有红线的文件)复制到Output.exe.config所在的目录并重命名?或者你的意思是从VisualStudio中的项目本身获取它?保存数据层(EntityFramework)的程序集的App.Config呢?我也需要用什么名称复制它吗?假设你的应用程序可以通过执行
ConsoleLayer.exe
来运行,你可以复制
ConsoleLayer.exe.Config
(你的应用程序使用的配置文件),然后将其重命名为
Output.exe.Config
。谢谢,这将上述错误更改为一个新错误-这是一个进步。它现在抱怨无法加载文件或程序集“实体框架”。这可能与Packages.config有关吗?我试图复制它并将其重命名为packages.exe.config,但这没有帮助。你知道吗?你的意思是把ConsoleLayer.vshost.exe.config文件(上面有一条红线的文件)复制到Output.exe.config所在的目录并重命名它吗?或者你的意思是从VisualStudio中的项目本身获取它?保存数据层(EntityFramework)的程序集的App.Config呢?我也需要用什么名称复制它吗?假设你的应用程序可以通过执行
ConsoleLayer.exe
来运行,你可以复制
ConsoleLayer.exe.Config
(你的应用程序使用的配置文件),然后将其重命名为
Output.exe.Config
。谢谢,这将上述错误更改为一个新错误-这是一个进步。它现在抱怨无法加载文件或程序集“实体框架”。这可能与Packages.config有关吗?我试图复制它并将其重命名为packages.exe.config,但这没有帮助。我想知道,你知道吗?