C# 为什么可以';t我使用配置文件引用的dll

C# 为什么可以';t我使用配置文件引用的dll,c#,winforms,class,app-config,C#,Winforms,Class,App Config,我想问这个问题,在dll代码中,我不能引用dll.config文件,它只能编译成exe并复制到解决方案的任何其他项目,这太疯狂了 你有没有想过什么时候创建了一个dll文件(DataAccess.dll)例如,您希望将其用于具有不同sql连接字符串的不同应用程序,但在构建解决方案时,它会创建一个DataAccess.dll.config文件,但不会将其复制到Winforms或Windows服务的任何其他解决方案中。它只是停留在那里 如果您试图复制配置文件并更改值,则仅会获得在使用intellise

我想问这个问题,在dll代码中,我不能引用
dll.config
文件,它只能编译成exe并复制到解决方案的任何其他项目,这太疯狂了

你有没有想过什么时候创建了一个dll文件(
DataAccess.dll
)例如,您希望将其用于具有不同sql连接字符串的不同应用程序,但在构建解决方案时,它会创建一个
DataAccess.dll.config
文件,但不会将其复制到Winforms或Windows服务的任何其他解决方案中。它只是停留在那里

如果您试图复制配置文件并更改值,则仅会获得在使用intellisense访问配置设置时在dll中显示的原始编译内容,编译后会忽略这些值。如果您在记事本中打开dll,您将看到您的设置被编译到dll本身

这让我难以置信,我必须手动将配置文件中的值复制到exe的配置文件中,才能访问面向对象intellisense管理器中的配置设置,除非我必须使用硬编码的按路径和搜索元素打开的配置文件


怎么回事?对我来说,什么是一种更简单的方法,更不用说现实的方法了,而且通过设计,a
dll
在.NET中没有相关的配置文件

为什么??因为
dll
不是独立的—它在可执行文件的上下文中运行

将被读取的配置是与可执行文件关联的配置


您需要更改
.exe.config
文件才能更新配置值。

A
dll
在.NET中没有关联的配置文件

为什么??因为
dll
不是独立的—它在可执行文件的上下文中运行

将被读取的配置是与可执行文件关联的配置


您需要更改
.exe.config
文件,以便更新配置值。

这正是.NET团队决定执行其配置系统的方式-这就是生活-克服它,继续生活…这正是.NET团队决定执行其配置系统-这就是生活-克服它的方式,继续你的生活……为什么微软不能将设置复制到配置文件中,而不是我复制并粘贴files@user1179388-那你应该问问微软,不是这样。这是他们决定这么做的方式。我没有MSDN,也没有机会这么做,Oded你真的认为我的观点是正确的,应该被提出来,地址或联系方式是什么?@user1179388-我认为现在改变已经太晚了。我不同意你的观点——因为DLL只在EXE的上下文中运行,所以将配置绑定到EXE是有道理的。您总是可以在上为.NET平台提出问题。因此,答案是为什么microsoft不能将设置复制到配置文件中,而不是复制并粘贴files@user1179388-那你应该问问微软,不是这样。这是他们决定这么做的方式。我没有MSDN,也没有机会这么做,Oded你真的认为我的观点是正确的,应该被提出来,地址或联系方式是什么?@user1179388-我认为现在改变已经太晚了。我不同意你的观点——因为DLL只在EXE的上下文中运行,所以将配置绑定到EXE是有道理的。您总是可以在.NET平台上提出问题。因此,答案是