1

我在 2 台计算机上安装了 VS.NET 10.0.40219.1 SP1,当我创建一个新的 C# Winform 应用程序时,只使用 Properties/Build/Platform x86,目标让我选择 AnyCpu/x64,但不能在配置(但是,库工作正常)。

如果我尝试在项目文件中手动更改它,我会收到很多令人讨厌的错误。这是我的安装中的正常行为、错误还是问题?

PD:当我手动更改项目时,发生了这种情况:

警告 1 未为项目“ * .csproj”设置 OutputPath 属性。请检查以确保您为此项目指定了有效的配置和平台组合。配置='调试'平台='x86'。如果其他项目试图遵循对此项目的项目到项目引用,此项目已卸载或未包含在解决方案中,并且引用项目未使用相同或等效项构建,则也可能出现此错误配置或平台。c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets

当我重新打开项目时,所有引用都变得无效

4

2 回答 2

1

Visual Studio 仅使用 x86 平台创建 WinForms 项目是正常的。我不知道这是因为历史上 x86 是唯一的平台类型,还是因为 x86 是最常用的值或其他原因。

手动修改项目文件时出现问题也是正常的,尽量避免这样做。

在 C# 项目中创建另一个平台配置

  1. 选择构建 | 配置管理器
  2. 在 Active Solution Platform 字段中选择 <新建...>
  3. 选择您想要的新类型
  4. 点击确定
于 2012-07-13T21:12:44.393 回答
0

默认情况下,Visual Studio 用于创建 AnyCPU 应用程序。我认为 VS2005 和 VS2008 都这样做了,尽管他们可能已经为 VS2008 更改了它。事情是这样的:很多 AnyCPU 应用程序最终在 64 位系统上被破坏,因为它们是依赖于 32 位库构建的。如果您尝试在 64 位系统上运行具有 32 位依赖性的 AnyCPU 应用程序,您会得到一个 64 位进程,一旦它尝试加载您的 32 位 dll,就会崩溃。

为了解决这个问题,将默认值更改为使用 x86 选项。如果你想使用 AnyCPU,你现在必须为它设置环境。

于 2012-07-13T21:26:05.553 回答