关于.dll的问题



目前正在使用WinForms和7zip解包器制作一个小程序。为了更容易添加对"SevenZipSharp.dll"的引用,一切都很好,直到我想发布(调试(项目。当我在桌面中移动".exe"文件时出现错误:

System.IO.FileNotFoundException:无法加载文件或 程序集'X'或其依赖项之一"。

我在.dll文件中嵌入了资源集 + 复制本地:设置为 true

我如何使这个程序在没有当前目录中.dll的情况下工作。

编辑

我通过使用做到了

系统.反射

解决方案在这里

但是我现在遇到了另一个问题

System.TypeInitializationException: 'The type initializer for 'SevenZip.SevenZipLibraryManager' threw an exception.. ---> System.ArgumentException:  Path has an illegal format
w System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
w System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
w System.IO.Path.InternalGetDirectoryName(String path)
w System.IO.Path.GetDirectoryName(String path)
w SevenZip.SevenZipLibraryManager..cctor()
--- End of inner exception stack trace ---
w SevenZip.SevenZipLibraryManager.SetLibraryPath(String libraryPath)
w SevenZip.SevenZipBase.SetLibraryPath(String libraryPath)

您可能希望将引用的库放在同一个文件夹中,否则也可以在 GAC 中注册它们。

相关内容

  • 没有找到相关文章

最新更新