- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个解决方案,我们只想拥有 x86
平台,但每次我们向解决方案添加新项目时,它都会添加 AnyCPU
返回解决方案中的每个项目。删除所有 AnyCPU
很繁琐解决方案文件中的行,因为我们在解决方案中有 70 多个项目。他们有什么方法可以配置 Visual Studio 以防止添加它吗?
不确定这是否相关,但我们使用的是遗留项目系统,并且仅在我们的解决方案中使用 csproj。
编辑 1:
我想保留的原因AnyCPU
被添加回解决方案是因为使用某些 nuget 包构建的警告和问题。
x86
构建的。当我们引用它们时它会产生没有代码的警告,所以我无法抑制它们。 AnyCPU
,它将无法构建引用它的桌面应用程序。 .它使用平台来确定是否应该复制其非托管 x86
或 x64
dll。 GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
QA|Any CPU = QA|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
最佳答案
这是一个非常常见的错误。 VS2010对它负责很大一部分,它的项目模板选择了x86而不是AnyCPU。在 VS2012 中再次修复,但未修复曾经暴露于 VS2010 的解决方案造成的任何损坏。或者帮助程序员做对。
平台选择对于 C# 项目没有意义。您为任何平台使用完全相同的构建工具,生成的代码真正与“任何 cpu”兼容。它是锁定目标处理器的即时编译器,它在运行时这样做。 Project > Properties > Build 选项卡中存在的唯一影响抖动的设置。只有 EXE 项目的设置很重要,库别无选择,只能与进程的位数兼容。
这对 C++ 项目很重要。很多,他们为每个平台使用完全不同的编译器和链接器。必然地,C++ 项目会预先生成机器代码,并且该代码必须与用户的机器兼容。这也是在 VS2010 中失败的原因,那是 C++ 构建系统转移到 MSBuild 的时候。
AnyCPU 重新出现在解决方案中的典型原因是添加了一个新项目。由于它们再次默认为 AnyCPU,因此需要将其添加回解决方案平台。
到目前为止,最好的解决方案是停止与机器作战。 AnyCPU 应该是您的首选。使用构建 > 配置管理器 > 事件解决方案组合框 > 编辑。移除 x86,只剩下 AnyCPU。并专注于你想要完成的事情,重要的是 EXE 项目设置。请注意另一个陷阱,即使默认平台是 AnyCPU,项目模板也会默认打开“首选 32 位”复选框。没有cpu了。是时候微软修复这个问题了,64 位调试器和抖动已经稳定并且足够长的时间不再需要它。
关于visual-studio-2017 - 防止添加新的 csproj 将 AnyCPU 添加回解决方案文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51266938/
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: Loading x86 or x64 assembly 我正在尝试编译任何 CPU .NET 项目,但我必须链接 S
我故意在一个简单的 C# 程序中泄漏内存,以了解有关 .NET 如何管理这方面的更多信息。这是使用 int[] 数组完成的,每个数组的大小为 1000 万,每 100 毫秒声明一次。数组的元素没有被“
我正在为任何 CPU 编写应用程序。当我在 64 位 PC 上运行以下命令时,它将不起作用: System.Diagnostics.Process[] running = System.Diagnos
我的 C# 程序是使用 AnyCPU 选项编译的,我正在使用 P/Invoke 以这种方式调用 native API: [DllImport("kernel32.dll", SetLastError
我的应用程序是使用“Any CPU”配置构建的。该应用程序的 WIX 安装程序是使用 platform=x86 构建的,因此生成的 MSI 是 32 位的。 当我在 64 位 Windows 上运行
当尝试 AnyCPU 以外的其他目标时,我会遇到更多错误,并且依赖项更难以解决。 但是在选择 AnyCPU 目标时,我得到的错误较少。 是否建议始终为 Xamarin 项目选择此目标? 最佳答案 让我
当我使用我的一个库时,我发现了一些奇怪的东西!我有一个负责读取特定文件类型的类库。它的工作做得很好。 我在两个不同的项目(WPF 和控制台)中使用了这个类库项目中一个类的Read 方法。 我的发现:使
我们的产品基于大量 C++ 项目,但我们现在将 C# 项目用于前端。我们现在也在做 64 位版本。 我们的计划是将所有 C# dll 构建为 AnyCPU。 C# 项目将引用公共(public) bi
当运行的系统肯定是 64 位系统时,从 AnyCpu dll 引用 x64-dll 是否有效? 我在问,因为我在这里遇到问题,得到如下异常: "Could not load file or assem
我有一个从 C# 项目引用的托管 C++ dll。 C# 项目将被编译为 AnyCPU。有什么方法可以编译 32 位和 64 位版本的托管 C++ dll,然后告诉 C# 项目在运行时加载正确的版本,
为什么 Solace .Net API 不针对 AnyCPU?我比较了 Reflector 中的 SolaceSystems.Solclient.Messaging.dll 和 SolaceSyste
我有一个针对 .NET 4.5.2 上的“AnyCPU”平台构建的程序集但是当我在 64 位机器上运行程序集时,dll 正在采用 32 位形式,经过大量研究后,我开始了解这个 thing在 .NET
我使用 Microsoft 的 COM 服务器示例: Out-of-process C# COM server (CSExeCOMServer) 一个简单的控制台 COM 客户端应该只启动服务器并使用
我需要以编程方式确定程序集是 x86、x64 还是 AnyCPU?有一个几乎相同的 question , 但它提供的解决方案 Assembly assembly = Assembly.LoadFrom
这是 2 个函数,fun1接受 1 个参数,fun2需要 4 个额外的无用参数。当我针对 x64 时,fun1需要 4s 但 fun2耗时不到 1s。如果我针对 anycpu,那么两者都需要不到 1
我有一个为 .NET 2.0 编写并针对 的现有 C# 应用程序AnyCPU 在这一刻。它目前引用了一些我没有源代码的第三方 .NET DLL(我不确定它们是为 x86、x64 还是 AnyCPU 构
我花了很多时间试图弄清楚为什么我的项目在 TFS2010 上使用默认(空白)配置构建,但如果我将其设置为任何内容,则告诉我没有输出路径。 最后发现.csproj文件中的配置写成AnyCPU而对于 TF
我们正在使用似乎被编译为 AnyCPU 的第三方程序集。 但是,我们的应用程序的许多安装都会导致问题。此第三方程序集使用 oracle dataaccess 库,并且无法在仅安装 32 位 oracl
根据 this QA,在 64 位机器上运行时,使用 Any CPU 和 x64 构建的应用程序之间应该没有性能差异,但是当我专门为 x64 构建时,我发现我的用例的性能提高了一倍左右平台。 我的用例
我试图让 COM 启动我的进程外 .NET COM 服务器。如果服务器进程是用 x64 编译的,它就可以工作,但如果我使用 AnyCPU(这是我想要的),那么它会挂起一段时间并最终失败并返回 0x80
我是一名优秀的程序员,十分优秀!