gpt4 book ai didi

c# - app.config dependentAssembly 不工作

转载 作者:太空狗 更新时间:2023-10-29 19:43:08 25 4
gpt4 key购买 nike

我想直接链接到在编译/运行时使用的 Dll。我的程序布局是这样的:控制台 Exe 启动 winform dll。那个dll是用一堆dll来执行的。 Appconfig 位于winform dll 的项目中。根据一些阅读,winform dll 是否在寻找错误的 app.config?我打算使用 Assembly.LoadFrom(); 执行我的 dll;

我创建了一个 app.config 文件并在该部分中添加了以下行

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="CommonConversions"
publicKeyToken="null"
culture="neutral" />
<codeBase version="1.0.0.0"
href="file://C://BMS_ACTD//bin//DX//Globals//CommonConversions.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="GlobalConstants"
publicKeyToken="null"
culture="neutral" />
<codeBase version="1.0.0.0"
href="file://C://BMS_ACTD//bin//DX//Globals//GlobalConstants.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="MessageInstance"
publicKeyToken="null"
culture="neutral" />
<codeBase version="1.0.0.0"
href="file://C://BMS_ACTD//bin//DX//Globals//MessageInstance.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="MessageInterface"
publicKeyToken="null"
culture="neutral" />
<codeBase version="1.0.0.0"
href="file://C://BMS_ACTD//bin//DX//Globals//MessageInterface.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="ToolsInterface"
publicKeyToken="null"
culture="neutral" />
<codeBase version="1.0.0.0"
href="file://C://BMS_ACTD//bin//DX//Globals//ToolsInterface.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>

位置绝对正确。 dll 没有强命名,因此 publicKeyToken="null"。我所有的版本都是 1.0.0.0。当我查看我引用的 dll 的属性时,文化是空白的。我的也应该这样吗?有什么我做错的地方吗?

最佳答案

App.config 不应在 dll 上使用,而只能与可执行文件一起使用。

如果您在可执行文件中加载一个 dll,该 dll 将使用正在运行的可执行文件的配置文件,并将忽略为他定义的配置。

如果你希望你可以使用一些丑陋的代码从当前程序集的配置文件中读取配置的键..

你应该做的是将相关配置放在exe配置文件中。

更新

在以下问题中找到更多信息:C# DLL config file

关于c# - app.config dependentAssembly 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6844476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com