我刚刚在 Visual Studio 2012 中通过 NuGet 安装了 OrmLite(用于 MySql)。
安装通过,没有任何错误,所有 DLL:s 似乎都被添加为参考:
ServiceStack.Common (3.9.70.0)
ServiceStack.Interfaces (1.0.0.0)
ServiceStack.Text (3.9.70.0)
ServiceStack.OrmLite (3.9.70.0)
ServiceStack.OrmLite.MySql (3.9.70.0)
编译没有错误。但是,当我运行此行时:
dbConnCommOrm.CreateTableIfNotExists<ModuleSettings>();
然后我得到这个错误:
无法加载文件或程序集“ServiceStack.Common,Version=3.9.69.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件。
ServiceStack.Common dll 引用(通过 NuGet)是 3.9.70.0 版本,所以它找不到 3.9.69.0 并不奇怪。
问题是:为什么在需要 3.9.69.0 时安装了 3.9.70.0?NuGet“脚本”有什么问题(或者无论如何有效),或者我错过了什么?
奇怪的是,即使我在上面提到的行中遇到异常,表“ModuleSettings”仍然正确创建!
此外,从 GitHub 下载 ZIP 文件并从那里提取 DLL 也不起作用:在ServiceStack.OrmLite-master\lib中有前三个文件(见上文),出于某种原因,我发现 ServiceStack.Ormlite.dll 在ServiceStack.OrmLite-master\lib/signed文件夹,但ZIP 文件中的任何位置都没有ServiceStack.OrmLite.MySql.dll。
我还可以补充一点,安装旧版本也不起作用。我试过这个: http ://www.nuget.org/packages/ServiceStack.OrmLite.MySql/3.9.69
PM> Install-Package ServiceStack.OrmLite.MySql -Version 3.9.69
它仍然安装了 ServerStack.Common/Text v 3.9.70.0
任何提示将不胜感激=)