无法加载文件或程序集
我正在使用一个系统来使用带有NHibernate的SqlServerCe。 从我的驱动程序,如果我添加System.Data.SqlServerCe程序集作为参考,我可以创建和运行对数据库的查询就好了。 但是,当尝试使用NHibernate时,我得到以下exception:
mscorlib.dll中出现“System.IO.FileNotFoundException”类型的第一次机会exception附加信息:无法加载文件或程序集“System.Data.SqlServerCe”或其依赖项之一。 该系统找不到指定的文件。
我已经跟踪了对Assembly.Load(“System.Data.SqlServerCe”)的调用的exception,这看起来应该可行。 System.Data.SqlServerCe程序集在GAC中(我也尝试将它作为本地引用添加到CopyLocal = true,无济于事),我可以使用其成员,所以为什么我不能显式加载它? 当我在Reflector中打开程序集时,它无法加载System.Transactions引用(我也尝试将其添加为本地引用,再次无效),因此加载该程序集可能是问题,而不是系统。 Data.SqlServerCe程序集。
这是个常见的问题吗? 可能是系统配置错误?
显然,可以通过在app.config文件中添加
谢谢!
这很可能与某些系统(错误)配置有关。
但是,根据设计,SQL Server CE只是一个DLL,可以与您的产品一起提供。
这意味着您可以在System.Data.SqlServerCe
的引用属性中将Copy local
设置为True
,您就完成了。
我有类似的问题。 我正在做的错误是我试图执行../obj/x86/Release中存在的.exe,而我应该执行./bin/Release中存在的.exe。 (我是C#的绝对新手)。
(我也注意到在这个../bin/Release目录中,引用的.dll文件是在本地复制的。)