當構建配置為“AnyCPU”或“x64”時,Castle Windsor 無法解決 (Castle Windsor not resolving when build configuration is "AnyCPU" or "x64")


問題描述

當構建配置為“AnyCPU”或“x64”時,Castle Windsor 無法解決 (Castle Windsor not resolving when build configuration is "AnyCPU" or "x64")

I am using CastleWindsor to register and resolve NHibernate dependencies in a console app and everything works fine as long as I build in x86 platform. But if I change this platform to "AnyCPU" or "x64" it stops resolving the components. Is there a CastleWindsor issue that I am not aware of or am I doing something wrong? Help please. Here is some code that I am using (nothing fancy):

Registration Code:

container.Register(Component.For<ILogger>()
.ImplementedBy<Log4netLog>(),
Component.For<Repository.INHibUnitOfWork>()
.ImplementedBy<Repository.NHibUnitOfWork>().LifestyleTransient()....

Resolve code:

    _windsorContainer = new WindsorContainer();
        _windsorContainer.Install(FromAssembly.This());
        _windsorContainer.Resolve<ISessionFactory>();

Getting an error on the last line. No component for supporting the service ISessionFactory was found. The code runs fine if I build it in x86 configuration.

‑‑‑‑‑

參考解法

方法 1:

I found the problem. One of the project (in the list of 20 projects) was set to build using x86 configuration. After changing its build settings I was able to build and run the project using ANYCPU setting. Thanks for following up and pointing me to the right direction.

(by MuazzamAliMuazzamAli)

參考文件

  1. Castle Windsor not resolving when build configuration is "AnyCPU" or "x64" (CC BY‑SA 3.0/4.0)

#32bit-64bit #castle-windsor #configuration #build #visual-studio-2010






相關問題

Visual Studio 將非託管 64 位 DLL 複製到 SysWOW64 而不是 System32 (Unmanaged 64-bit DLL copied to SysWOW64 and not System32 by Visual Studio)

將 R 包從 32 位安裝到 64 位 (install R package from 32bit to 64bit)

x32 ABI - гэта інструмент, як ім карыстацца (x32 ABI is this a tool ,how to use this)

在 64 位應用程序中使用 32 位 .lib 庫 (Using 32bit .lib library in a 64bit application)

當構建配置為“AnyCPU”或“x64”時,Castle Windsor 無法解決 (Castle Windsor not resolving when build configuration is "AnyCPU" or "x64")

32 位 SPARC V8 應用程序可以在 64 位 SPARC V9 上運行嗎? (Can 32-bit SPARC V8 application run on 64-bit SPARC V9?)

Eclipse 內存分析器:無法附加到 32 位進程 (Eclipse Memory Analyzer: Unable to attach to 32-bit process)

如何知道 libpython27.a 是 32 位還是 64 位? (How to know whether libpython27.a is 32-bit or 64-bit?)

確定當前進程是否在 WOW64 中運行或不在 Go 中運行 (Determining if current process runs in WOW64 or not in Go)

確保在 Windows Server 2003 64 位上安裝了 ASP.NET 3.5 Framework (Ensure that ASP.NET 3.5 Framework is installed on Windows Server 2003 64-bit)

為什麼我可以從在 IIS7 中以 64 位模式運行的 AnyCPU .NET Web 應用程序調用 32 位 COM 庫? (Why am I able to call a 32 bit COM library from an AnyCPU .NET web application running in IIS7 in 64 bit mode?)

編譯為 x86 時檢測 OS x86 或 x64 (Detect OS x86 or x64, when compiled as x86)







留言討論