Castle Windsor에 NHibernateFacility를 사용할 때 EnumerableExtensions.cs라는 파일을 묻는 메시지가 표시됩니다. 나는 (모든 패키지는 NuGet에서 설치 한) 다음 단계로이 복제 한 :Castle.Facilities.NHibernateFacility를 사용하여 EnumerableExtensions.cs를 입력하라는 메시지가 표시됩니다.
- 설치 Castle.Core 3.1.0
- 을 설치 새로운 WPF 프로젝트 Castle.Windsor 3.1.0 만들기 Castle.FactorySupportFacility 설치
- 3.1.0
- Castle.Transactions 3.2.207.2207
- 가 Castle.Facilities.AutoTx가 3.2.207.2207
- NH 설치 설치 설치 ibernate 3.3.1.4000
- 윈저 컨테이너를 만들 App.xaml.cs를에서) (OnStartup 유창함 NHibernate에이 1.3.0.733
- Castle.Facilities.NHibernate 0.7.1.23602
오버라이드 설치를 설치하고 여기에 시설을 추가 . 아래 코드를 참조하십시오.
사람 :
이
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
IWindsorContainer container = new WindsorContainer();
container.AddFacility<AutoTxFacility>();
container.Register(
Component.For<INHibernateInstaller>()
.ImplementedBy<FluentNHibernateInstaller>());
container.AddFacility<NHibernateFacility>();
}
는
public class FluentNHibernateInstaller : INHibernateInstaller
{
public FluentConfiguration BuildFluent()
{
return Fluently.Configure();
}
private IPersistenceConfigurer SetupDatabase()
{
return MsSqlConfiguration.MsSql2008
.ConnectionString(c => c
.Server("Server")
.Database("Database")
.Username("User")
.Password("Password"));
}
public Maybe<NHibernate.IInterceptor> Interceptor
{
get { return Maybe.None<NHibernate.IInterceptor>(); }
}
public bool IsDefault
{
get { return true; }
}
public void Registered(ISessionFactory factory)
{
}
public string SessionFactoryKey
{
get { return "sf.default"; }
}
}
내가 응용 프로그램을 실행이 내가되게하고 대화가 FluentNHibernateInstaller.cs의 코드입니다 나이게 뭔가가 DLL에 잘못된 것처럼 보이지만 내가 이것에 대해 Ca에 게시했을 때 stle Project Google Group it was suggested that I had incompatible versions of Windsor in my app. 이 사실인가요 아니면 다른 일이 진행되고있는 것처럼 보입니까?
해결 방법을 찾으셨습니까? 나는 내 DB가 오프라인 일 때 같은 설정 (성 + nhibernate 시설)에서 일어나는 것을 발견했다. 나는 그 문제를 해결하고이 같은 문제를 겪었습니다. –