我正在尝试在另一台计算机上运行C#程序,因为我遇到了运行该程序的一些麻烦,所以我把所有内容都放在了一个Try-statement中的“window.initialized”事件中。
当我在另一台计算机上运行该程序时,我得到一个异常,说“System.Data.SQLite.dll”找不到,即使它正好位于我正在执行的.exe的调试文件夹中位于。这感觉非常奇怪,我不知道如何解决它。
有人有个主意吗?
答案 0 :(得分:1)
以下是我知道导致此问题的三点:
a)如您的评论中所述,程序集引用指向的另一个版本不是程序目录中的文件。
b)应用程序的目标是与程序集不同的平台(即x86 vs x64)。我不确定,但它可能导致应用程序在一台机器上工作而不在另一台机器上工作,当一个程序集针对“任何CPU”而另一个针对特定平台(x86或x64)构建时。
c)引用的程序集针对的是.NET框架版本,它与应用程序本身的版本不同,可以在开发机器上使用,但在其他机器上则不可用。这将导致程序集绑定异常。要检查,请在选择相关装配后查看属性窗口:
不确定是否还有更多,但我希望它有所帮助。