Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 网站:MSB3270:处理器体系结构之间不匹配_C#_Asp.net_.net_Visual Studio 2010_Msbuild - Fatal编程技术网

C# 网站:MSB3270:处理器体系结构之间不匹配

C# 网站:MSB3270:处理器体系结构之间不匹配,c#,asp.net,.net,visual-studio-2010,msbuild,C#,Asp.net,.net,Visual Studio 2010,Msbuild,我有一个Web表单网站项目。本网站引用了4个类库项目。其中3个类库引用了第三方程序集。对于3个类库项目中的每一个,我都会遇到以下编译器错误 ASPNETCOMPILER:错误ASPCONFIG:无法加载文件或程序集 “myAssembly”或其依赖项之一。试图加载一个 格式不正确的程序。[项目。 metaproj] 我在类库项目上尝试了所有可能的AnyCPU/x86/x64组合。我无法在网站项目中更改此设置。我有一个x86和x64版本的第三方dll。两者都试过了 “ClassLibrary.cs

我有一个Web表单网站项目。本网站引用了4个类库项目。其中3个类库引用了第三方程序集。对于3个类库项目中的每一个,我都会遇到以下编译器错误

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

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

“ClassLibrary.csproj”(默认目标)(4)-> (ResolveAssemblyReferences目标)-> C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1561,5 ):警告MSB3270:的处理器体系结构之间不匹配 正在构建的项目“MSIL”和参考的处理器架构 “第三方,版本=xxx,区域性=中性,进程或架构” re=x86,“x86”。这种不匹配可能会导致运行时失败。请考虑张 通过Configurati 在Manager上,以便在项目和 引用,或对具有处理器体系结构的引用进行依赖 至少匹配项目的目标处理器体系结构。[ClassLibrary.cspro j]

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

所有.NET 4

将网站转换为Web应用程序不是一个选项


谢谢,

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

显然,您有一个本机32位DLL。因此,必须将IIS上的应用程序池配置为以32位模式运行.NET framework


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

我已经尝试过了。将所有项目设置为x86。I get Error无法加载文件或程序集“Project”或其依赖项之一。试图加载格式不正确的程序。使用x86第三方dll,并将所有内容设置为x86。请确保已对所有解决方案配置执行此操作。洗个澡。再次检查您是否有冲突的本地版本或GAC中的版本。请记住,如果第三方库A是32位的,而项目B使用它,那么项目C使用项目B——这三个库都必须是x86GAC,没有版本。你说的本地版本到底是什么意思?在bin文件夹中?以及“所有解决方案配置”?请参阅上面的编辑(解决方案“AnyCPU”选项的屏幕截图)。显然,所有“AnyCPU”都必须切换到“x86”。x86没有选项。只有一个选择;64位版本的第三方dll也会发生同样的情况。一旦部署到dev服务器,我会将应用程序池设置为32位。然后,听起来好像第三方库还有其他依赖项,而这些依赖项无法像Microsoft的C runtime DLL那样找到。到底是什么?一个私有的或开源的库?dtStk需要安装微软Visual C++ 2010 SP1可重分发包以及两个主要的DLL:DTEN600 .DLL和DTSnCHNETAPI4.DLL,用于32位或DTTeCix64.DLL和DTSnCHNETAPI4.DLL,用于64位版本。安装了吗?是的。我在其他项目中成功地使用了dtsearch。请参见David Sacks的回答: