问题:
c#引用第三方的dll,第三方dll在加载时根目录是本程序的根目录,而不是第三方dll所在位置。 所以需要将第三方的dll放在根目录下。
可是我并不想这么做,因为很乱呀。还有一个原因就是dll的冲突问题,比如我和他引用了相同的dll,只是版本什么的不同,这样我还得去单独配置dll冲突,如下:
<runtime>
<assemblyBinding
xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30AD4FE6B2A6AEED" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="10.0.0.0" />

在C#项目中引用第三方DLL时,遇到默认加载路径为程序根目录的问题,导致需要将DLL放置在根目录下。为避免混乱及DLL冲突,尝试了配置文件、创建新应用程序域等方法。通过在新应用程序域中设置DLL所在位置作为根目录,成功解决了加载问题。此外,还探讨了程序集解析事件和AppDomain的应用,以更灵活地控制DLL加载。
最低0.47元/天 解锁文章
2791

被折叠的 条评论
为什么被折叠?



