防止添加新的 csproj 将 AnyCPU 添加回解决方案文件

2024-01-07

我们有一个解决方案,我们只想拥有x86平台,但每次我们向解决方案添加新项目时,它都会添加AnyCPU返回解决方案中的每个项目。删除所有的内容是很乏味的AnyCPU解决方案文件中的行,因为解决方案中有 70 多个项目。他们有什么方法可以配置 Visual Studio 以防止添加此内容吗?

不确定这是否相关,但我们使用的是遗留项目系统,并且在我们的解决方案中仅使用 csproj。

EDIT 1:

我想保留的理由AnyCPU之所以被添加回解决方案是因为使用某些 nuget 包进行构建时出现警告和问题。

  1. 我们的一些第三方依赖项是针对x86当我们引用它们时,它会产生没有代码的警告,所以我无法抑制它们。
  2. 我特别知道导致问题的 nuget 包是 CefSharp。如果开发人员选择,它将无法构建引用它的桌面应用程序AnyCPU。它使用该平台来确定是否应该复制其非托管x86 or x64 dll.

EDIT 2:

这是我们构建时导致问题的解决方案部分。从我所拥有的read https://aras-p.info/blog/2017/03/23/How-does-Visual-Studio-pick-default-config/platform/#default-platform如果未提供平台,Visual Studio 将按字母顺序查找此列表。此示例来自一个不相关的解决方案。

GlobalSection(SolutionConfigurationPlatforms) = preSolution
    Debug|Any CPU = Debug|Any CPU
    QA|Any CPU = QA|Any CPU
    Release|Any CPU = Release|Any CPU
EndGlobalSection

EDIT 3:

据我所知,汉斯的回答是处理这个问题的正确方法。我已经寻找其他方法来处理这个问题,但是在查看 uservoice 后能够找到它在哪里建议 https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/2463093-stop-automatically-messing-with-my-solution-config在2011年。


这是一个非常常见的错误。 VS2010在很大程度上对此负责,它的项目模板选择了x86而不是AnyCPU。在 VS2012 中再次修复,但没有修复曾经暴露于 VS2010 的解决方案造成的任何损坏。或者帮助程序员把事情做好。

平台选择对于C#项目来说没有意义。您对任何平台使用完全相同的构建工具,生成的代码真正与“任何 cpu”兼容。它是锁定目标处理器的即时编译器,它在运行时执行此操作。这only对影响抖动效果至关重要的设置位于“项目”>“属性”>“构建”选项卡中。只有 EXE 项目的设置很重要,库别无选择,只能与进程的位数兼容。

It does对于 C++ 项目很重要。很多时候,他们为每个平台使用完全不同的编译器和链接器。因此,C++ 项目必须预先生成机器代码,并且该代码必须与用户的机器兼容。这也是 VS2010 中出现问题的原因,因为 C++ 构建系统迁移到了 MSBuild。

AnyCPU 重新出现在解决方案中的典型原因是添加一个新项目。由于它们再次默认为 AnyCPU,因此需要将其添加回解决方案平台。

到目前为止,最好的解决方案是停止与机器对抗。 AnyCPU 应该是您的首选。使用“构建”>“配置管理器”>“活动解决方案”组合框>“编辑”。删除 x86,仅保留 AnyCPU。并专注于您想要完成的任务,重要的是 EXE 项目设置。请注意另一个陷阱,即使默认平台是 AnyCPU,项目模板也会默认打开“首选 32 位”复选框。已经没有CPU了。顺便说一句,微软已经修复了这个问题,64 位调试器和抖动已经稳定且功能足够长,不再需要它了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

防止添加新的 csproj 将 AnyCPU 添加回解决方案文件 的相关文章

随机推荐

  • MVC ELMAH 和 SQL Azure

    背景故事 我们主要使用 AWS 来处理所有事情 托管 数据库 通知等 现在 我正在考虑将数据库端迁移到 SQL Azure 因为我们在 AWS RDS 上收到了疯狂的账单 因此 我尝试做的就是在 SQL Azure 中创建一个数据库并更新连
  • 使用 PHP 删除 URL 尾部斜杠的最佳方法

    我有一些网址 例如www amazon com www digg com or www microsoft com 我想删除尾部斜杠 如果存在 因此不仅仅是最后一个字符 有没有trim or rtrim为了这 You put rtrim在你
  • 为什么 HttpURLConnection.getResponseCode() 会抛出 IOException? [复制]

    这个问题在这里已经有答案了 我理解了getResponseCode 方法只是一个 getter 方法 返回statusCode已经由之前发生的连接操作设置 那么在这种情况下 为什么它会抛出一个IOException 我错过了什么吗 From
  • TCP校验和计算与wireshark计算不匹配

    我遇到一个问题 示例程序 复制如下 生成的 tcp 校验和与wireshark 计算的校验和不匹配 有人可以指出我哪里出错了吗 这里我尝试了两种方法 tcp 校验和 get ipv6 udptcp checksum 有了这两个值 就会得到两
  • 使用 ant mxmlc 任务将运行时库路径添加到 Flex 构建配置

    我正在尝试构建一个 Flex 项目 并将其链接到一些 RLS 在 Flex Builder 中设置项目时 相应的 构建配置 我通过将 dump config 添加到编译器选项而获得 会生成 除其他外 如下所示的标签
  • 为什么历史记录在 Firefox 中的 onclick 上不起作用?

    我不明白为什么在 Firefox 中 window history back 确实适用于按钮
  • 使用堆栈来遍历和解决迷宫 - Java

    所以我正在尝试创建一个迷宫求解器程序来解决 X 和 O 的迷宫 我想做的是创建一个点类 这样我就可以创建一个二维点数组 这将允许打印到输出页面以及相对简单地实现堆栈 我想在实际程序本身中实现的一般思想的最简单算法我认为应该是 1 Move
  • 奇怪的 SQLAlchemy 错误消息:TypeError: 'dict' 对象不支持索引

    我正在使用 SqlAlchemy 使用手工编写的 SQL 从 PG 数据库中获取数据 我正在尝试一个包含类似 SQL 运算符 的查询 这似乎会导致 SqlAlcjhemy 陷入循环 sql SELECT DISTINCT u name fr
  • 如何禁用一行上的行组扩展功能?

    在没有任何特定解决方案的情况下进行了大量搜索之后 我不得不问这个问题 我想要的是隐藏单个组行上的行组图标 如下图所示 我有一个组行 其中只有一条记录 该记录已显示在顶行中 我想隐藏该单条记录上的折叠图标 当组行超过一行时 仅显示折叠 展开图
  • Heroku Spring Boot 启动

    我尝试在 Heroku 上运行我的 Spring Boot 应用程序 应用程序正确启动 但之后它立即崩溃并出现以下错误 2019 03 19T11 45 28 343758 00 00 app web 1 2019 03 19 11 45
  • 有没有办法将文本表格转换为 PowerShell 对象

    有许多工具以表格格式输出数据 diskpart 就是这样的一个例子 去掉一些无关的输出 你会得到这样的结果 Disk Status Size Free Dyn Gpt Disk 0 Online 136 GB 0 B Disk 1 Offl
  • Tortoisesvn - 缺少设置 - 使用“_ svn”而不是“.svn”

    我刚刚从 SVN 1 6 更新到 SVN 1 7 我的图标叠加层未显示 在查看 1 7 中 SVN 的设置时 我不再可以选择使用 svn 目录 这可能就是我遇到问题的原因 有谁知道如何让 SVN 1 7 再次使用 svn 目录 这是我在新版
  • CompletableFutures 并根据内部值进行过滤

    我现在有点困惑 所以我有一个应该返回的方法CompletableFuture
  • 实体框架代码首先插入方法挂钩

    我正在尝试将审核日志附加到我编写的实体中 我想知道是否存在可以覆盖的上下文中的挂钩以提供所需的功能 我想做的是 插入时运行方法 A 更新时运行方法 B 删除时运行方法C 我可以手动将其添加到控制器中 但我更喜欢更具体的解决方案 所需的效果是
  • Android:如何获取父View的ID?

    View getRoot 回报View 所以我们可以通过使用轻松找出哪个是根视图getResourceName View getId View getParent 虽然我期望它也会返回View这是父级 实际上只返回一个实例ViewParen
  • 如何使用 vim 键绑定在 Sublime Text 2 中插入垂直文本列?

    如何使用 vim 键绑定在 Sublime Text 2 中插入垂直文本列并缩进它 source yannesposito com http yannesposito com Scratch img blog Learn Vim Progr
  • 将刻度转换为日期时间

    该网站上有许多问题解释如何执行此操作 我的问题是 当我做似乎对其他人都有效的事情时 我没有得到正确的日期或时间 代码是 long numberOfTicks Convert ToInt64 callAttribute startDateTi
  • 用 animate() CSS3 替换 jQuery 幻灯片

    我在页面上有 jQuery SlideUp 和 Down 动画的性能非常糟糕 所以我想用 animate 或 css 替换滑动函数以利用 CSS3 动画 通常比 jQuery 更平滑 这是我的代码 jQuery close on click
  • Maven 在运行测试用例 Eclipselink 和 hsqldb 时挂起

    Using jps and jstack我可以找到有问题的等待线程 但不知道如何对其进行故障排除或导致它的原因 请参阅下面的 Maven 依赖项和jstack结果和等待线程tid 0x000000000022c000 进一步分析 似乎所选版
  • 防止添加新的 csproj 将 AnyCPU 添加回解决方案文件

    我们有一个解决方案 我们只想拥有x86平台 但每次我们向解决方案添加新项目时 它都会添加AnyCPU返回解决方案中的每个项目 删除所有的内容是很乏味的AnyCPU解决方案文件中的行 因为解决方案中有 70 多个项目 他们有什么方法可以配置