Clickonce 未找到部署外部 dll 引用
Posted
技术标签:
【中文标题】Clickonce 未找到部署外部 dll 引用【英文标题】:Clickonce deploy external dll reference not found 【发布时间】:2010-08-15 22:09:18 【问题描述】:我正在尝试部署一个用 wpf c# 编写的应用程序。我使用外部库(irrklang)。我在 Visual Studio 中添加了对该 dll 的引用(它与可执行文件位于同一文件夹中)。它出现在我的应用程序文件中,我部署、安装在另一台机器上,但我得到了找不到文件的异常。我查了exe文件夹,DLL在文件夹里。
我做错了什么,引用似乎是正确的,但程序根本没有找到 dll
更新:在下面添加了解决方案。还是一样的错误:(
【问题讨论】:
【参考方案1】:检查以下几点:
DLL 的属性 -> 使用本地副本 = true 项目属性 -> ClickOnce 属性 -> 应用程序文件 -> 检查您的 dll 是否已登记并在其上手动设置“包含”。然后再试一次。 ClickOnce 经常有烦人的错误。
【讨论】:
以为这些都是你说的,我会尽力让你知道 正是我输入的内容,但 VS 启动需要很长时间,所以我仍在仔细检查。 hmmm 下载了 irrklang lib (4.0) 并将其集成到 VS 2010 Wpf 项目中并构建它 -> 出现 dll。比我运行 clickonce -> dll 在部署中。如果你喜欢我可以把项目发给你 是的,dll也在我的部署中,但是在运行应用程序时,它说系统未找到异常...有没有办法更深入地查看这个错误,以便我可以跟踪程序的位置在看吗? 哇。对不起,我误读了你的问题。我再测试一下【参考方案2】:找到了,外部dll需要Visual Studio Redistributable。
【讨论】:
我对 Magick.Net 库有类似的体验。在这种情况下,C++ 可再发行组件是最好的解决方案,因为 Magick.Net 是 C++ 代码的 C# 包装器。如果您没有安装可再发行组件(如果您没有 Visual Studio,可能会出现这种情况),则模块将无法加载。我希望向阅读此答案的人解释为什么提问者可能选择了这个特定的解决方案。以上是关于Clickonce 未找到部署外部 dll 引用的主要内容,如果未能解决你的问题,请参考以下文章
MSTest Visual Studio 2015:未找到测试容器直接或间接引用的程序集或模块“xxxxxxx”
clickonce中需要Microsoft.SqlServer.Management.SqlParser