从源代码编译SubSonic 3.0.0.4

时间:2011-07-26 11:36:09

标签: subsonic subsonic3

我从https://github.com/subsonic/SubSonic-3.0下载了SubSonic 3.0.0.4源代码并使用Visual Studio 2010对其进行了编译。当我将已编译的SubSonic.Core.dll添加到我自己的项目中并尝试使用像这样的SimpleRepository时

SimpleRepository repo = new SimpleRepository(ProviderFactory.GetProvider(connectionString, "System.Data.SqlClient"), SimpleRepositoryOptions.RunMigrations);

dll崩溃了:

An unhandled exception of type 'System.TypeInitializationException' occurred in SubSonic.Core.dll

Additional information: The type initializer for 'SubSonic.DataProviders.DynamicProxyInterceptionStrategy' threw an exception.

第56行的SubSonic DbDataProvider.cs发生崩溃:

InterceptionStrategy = new DynamicProxyInterceptionStrategy(this);

如果我从项目的网站下载现成的SubSonic.Core.dll并使用它,一切正常。但是我想自己编译它,因为我稍后会尝试对它进行一些修改。

感谢
巴普

2 个答案:

答案 0 :(得分:1)

我已成功从Git下载最新版本并在现有项目(具有Microsoft SQL数据库)中升级Subsonic。我首先编译了Subsonic.Core项目,将旧的dll与new交换,并且出现了与你相同的错误。

内部异常表明它缺少对Castle.Core的引用。只需在/ lib文件夹中添加一个对Caste.Core的引用,你就应该好了。

答案 1 :(得分:-1)

添加Castle.Core.dll,为我解决了同样的问题。