首页 文章

网站:MSB3270:处理器架构之间存在不匹配

提问于
浏览
8

我有一个Web窗体网站项目 . 该网站引用了4个类库项目 . 其中3个类库引用了第三方程序集 . 我为每个3类库项目收到以下编译器错误 .

ASPNETCOMPILER:错误ASPCONFIG:无法加载文件或程序集“myAssembly”或其依赖项之一 . 尝试加载格式不正确的程序 . [项目 . metaproj]

我已经在类库项目上尝试了所有可能的AnyCPU / x86 / x64组合 . 我无法在网站项目中更改此设置 . 我有第三方dll的x86和x64版本 . 试过两个 .

“ClassLibrary.csproj”(默认目标)(4) - >(ResolveAssemblyReferences目标) - > C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(1561,5):警告MSB3270:正在构建的项目的处理器体系结构“MSIL”与参考“ThirdPartyDll,Version = xxx,Culture = neutral,processorArchitectu re = x86”,“x86”的处理器体系结构之间存在不匹配 . 这种不匹配可能会导致运行时故障 . 请考虑通过Configurati on Manager更改项目的目标处理器体系结构,以便在项目和引用之间调整处理器体系结构,或者依赖于与项目的目标处理器体系结构相匹配的处理器体系结构的引用 . [ClassLibrary.cspro j]

下面说明了解决方案配置 . 注意我不能在这里更改“AnyCPU”,只能从每个单独的类库项目中更改 .

Solution configuration

所有.NET 4

无法将网站转换为Web应用程序 .

谢谢,

2 回答

  • 5

    显然,你有一个原生的32位DLL . 因此,必须将IIS上的应用程序池配置为以32位模式运行.NET框架 .

    这可以在IIS管理器中配置 . 转到“应用程序池”,选择相关的应用程序池并打开“高级设置...”对话框 . 32位选项靠近顶部 .

  • 0

    您引用的程序集之一仅为x86,因此引用它的项目链必须仅为x86构建 . 还要确保在部署应用程序池时配置为32位 .

相关问题