【问题标题】:Visual Studio 2010: how to force ASP.NET website to use x86 instead of "Any CPU"?Visual Studio 2010:如何强制 ASP.NET 网站使用 x86 而不是“任何 CPU”?
【发布时间】:2011-08-05 02:46:35
【问题描述】:

从非 ASP.NET 应用程序使用 SharePoint DLL(仅限 x86)时,您可以将“平台目标”设置为 x86(而不是“任何 CPU”),以便 Visual Studio 2010 和应用程序都加载SharePoint 程序集很好。

但是,在 x64 开发系统上开发 ASP.NET 应用程序时,您会在构建网站时收到以下可怕的错误消息:

无法加载文件或程序集 'Microsoft.SharePoint.Search' 或一个 其依赖项。一次尝试是 加载一个程序 格式不正确。

这是因为在 Visual Studio 2010 中构建时,ASP.NET 默认为“任何 CPU”。

我该如何改变呢?

我尝试了网站的属性页 web.config,但无济于事。

注意:这是开发系统。我知道对于服务器系统,我可以通过在“应用程序池默认值”中将“启用 32 位应用程序”设置为“真”来更改应用程序池以强制加载 32 位 x86。

【问题讨论】:

  • 实际上,SharePoint 2010(其中一个标签)仅支持 x64。 SharePoint 2007 有 x86 和 x64 版本,虽然我认为 x86 更常见。
  • 嗯,你是对的。发生了一些可疑的事情,因为我必须将我的 ASP.NET 应用程序的应用程序池标记为仅 32 位,否则它根本不会加载。我会回复这个,但可能是星期五。

标签: asp.net visual-studio-2010 .net-3.5 sharepoint-2010


【解决方案1】:

您可以在 <compilers> 上的 web.config 上设置自定义编译器选项

compilerOptions="/platform:string"

可以在这里找到字符串: http://msdn.microsoft.com/en-us/library/zekwfyz4(VS.80).aspx

【讨论】:

  • 我关注了msdn.microsoft.com/en-us/library/y9x69bzw.aspx 和msdn.microsoft.com/en-us/library/zekwfyz4(v=VS.100).aspx,但我仍然遇到同样的错误。 compiler 部分现在是:<compiler compilerOptions="/platform:x86" language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
  • @Jeroen compilerOptions 是可行的,例如尝试设置 /D:MYDEBUG ,或定义其他内容及其工作。而且我认为如果没有明确的选项来定义x86,编译器选项是最后一个。现在如果不工作,我能说什么......?
  • 重新安装机器后,它现在可以工作了:) 我批准了你的回答,因为它基本上告诉你如何做到这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-30
  • 2015-12-08
  • 2010-12-03
  • 1970-01-01
相关资源
最近更新 更多