在版本控制中维护 Visual Studio vcproj 项目文件的建议

2024-02-29

Microsoft Visual Studio 使用 XML 来保存其.vcproj项目文件。所以比较 XML 项目文件should很容易。

不幸的是,如果您更改项目文件的任何属性,Visual Studio 会坚持随机打乱项目文件的 XML 节点!这使得项目文件更改的文本比较和合并基本上不可能。更改一个编译器设置可能会让我的视觉差异工具认为我已经更改了文件中 50% 的行!我什至尝试过一些 XML diff 工具,但它们只是显示了相同混乱情况的更结构化的视图。

有没有人有任何维护建议.vcproj源代码管理中的文件?或者说服 Visual Studio 的方法not重新排列 XML 节点.vcproj file?

(我还研究过使用 CMake 等工具来生成.vcproj来自更差异友好的文本文件的文件,但 CMake 有其自身的问题。)


这似乎时不时就会出现。

  • 合并vcproj文件——SCM的地狱 https://stackoverflow.com/questions/372357/merging-vcproj-files-scms-hell

也许对于插件或其他规范化工具来说,这是一个成熟的问题。

在微软决定修复它之前,这将是一个很好的副业。那么你就不走运了——除非他们提出购买你的知识产权。

有人想启动一个开源项目或商业产品吗?我是游戏。

我可能会尝试使用独立的规范化工具,然后看看是否可以将其变成插件。

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

在版本控制中维护 Visual Studio vcproj 项目文件的建议 的相关文章

  • 如何更改默认的C++模板文件?

    我使用的是 Visual Studio 2019 每当我创建新的 C 项目时 它都会为我提供一个包含以下代码的默认文件 Template Test cpp This file contains the main function Progr
  • Git推送大文件时远端意外挂断

    当我尝试推送到我的 bitbucket 存储库时 出现以下错误 事实上 在 GitHub 中也是如此 数物体 48 完成 增量压缩最多使用 2 个线程 压缩对象 100 38 38 完成 写入对象 100 48 48 1 95 MiB 38
  • SVN Visual Studio 存储库的工作目录结构

    我刚刚在我们公司为 Visual Studio 项目引入了 SVN 并创建了一个如下所示的存储库 解决方案 是 Visual Studio 解决方案 包含 1 n 个项目 solution1 trunk projectA projectB
  • 如何设置 Visual Studio XML 文档的格式以在 Web 上显示

    我正在使用 Visual Studio 2010 并开始做一个好孩子 并通过 XML 注释记录我编写的所有代码 我有一个记录良好的项目 我什至想出了如何让 Visual Studio 在构建时输出完整的 XML 文档 我的问题是 在网络上格
  • cordova - 错误:无法获取平台 android

    我安装了 cordova 并创建了一个新项目 但是当我使用这个命令添加android平台时 cordova平台添加android 出现此错误 Error Failed to fetch platform android Probably t
  • VS 2012 中缺少实体数据模型

    添加新项目时 我在 数据 选项卡下找不到实体数据模型 我查看了几个问题和答案以及有关此问题的信息 但没有一个解决方案有效 我已修复 卸载并重新安装 手动安装 EF Tools 包并尝试卸载所有 VS 相关程序 我还尝试在不同的 NET 框架
  • 无法在 VS Code 中导入

    我是 python 新手 一直在使用 VS code 现在我正在研究汤普森采样问题 需要 numpy 和 matplotlib 我已经导入了这两个库 但 VS code 给出了无法导入的错误 我知道我必须使用 PIP 进行安装 并且我已经看
  • 在 VS 扩展性演练中,Guid 应包含 32 位数字和 4 个破折号 (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

    我正在使用演练 第 1 部分 创建基本项目系统与网站上所写的完全一样http msdn microsoft com en us library cc512961 aspx http msdn microsoft com en us libr
  • 在 Windows 11 上无需管理员权限即可运行 Visual Studio 2022

    我在 Windows 11 上安装了 Visual Studio 2022 当我启动它时 它始终以管理员权限运行 我想在没有管理员权限的情况下运行它 我的 Windows 只有一个帐户 该帐户具有管理员权限 x 我做了什么 确认VS2022
  • 让设计者为 UserControl 的简单 List 属性生成 AddRange

    我创建了一个新的用户控件 如下所示 public partial class MyControl UserControl List
  • 删除生成的 Javadoc 中的注释“Generate by Javadoc on

    javadoc 命令会自动插入一条注释 如下所示 在每个生成的 HTML 文件中 这完全阻止了版本化 javadoc 的更改跟踪 因为在重新生成文档时每个文件都会被修改 我问的上一个问题说服我不要对任何 javadoc 进行版本控制 但它也
  • 如何获取第一次提交的 Git diff?

    我创建了一个存储库 在其中创建了一个文件 在文件中放入了一些内容 然后提交了该文件 现在 我想查看该提交的差异 理想情况下应该显示添加的文件以及添加到其中的行 然而 git diff HEAD HEAD回报fatal ambiguous a
  • VS 2010、NUNit 和“当前不会命中断点。尚未为此文档加载任何符号”

    使用 Windows 7 32 位 VS 2010 NET 4 DLL NUnit 2 5 5 对应用程序进行单元测试 我目前收到以下错误 看了很多帖子并尝试了以下方法 重启机器 重启VS 删除 bin obj 并重新加载 清理 重建 但我
  • 是否可以使用 Visual Studio 调试器的监视窗口来监视内存位置的值?

    是的 我知道有四个内存窗口 但我更喜欢在监视窗口中显示单个值 并且我想知道是否可以指定要在监视窗口中监视的内存位置 单独放置地址只会计算出十六进制地址 如果您想监视特定的内存位置 那么您需要告诉调试器该位置中的对象的类型 而不仅仅是0x00
  • 有没有一种简单的方法来使用InternalsVisibleToAttribute?

    我有一个 C 项目和一个测试项目 其中包含主项目的单元测试 我想要可测试的internal方法 我想在没有 Visual Studio 测试项目中可以拥有的神奇 Accessor 对象的情况下测试它们 我想用InternalsVisible
  • hg 或 git 中的两个完整目录/项目之间存在差异?

    我继承了一个最初存储在 CVS 中的项目以及所有修订 我做了相当多的编辑 并且我试图比较我在原始目录中所做的所有更改 关于添加的新文件与旧文件 hg git 是否有某种实用程序可以让我进行树差异或类似性质的操作 也就是说 新添加的文件 删除
  • 在 Web 应用程序中显示最新的提交值?

    我有一些 Rails 应用程序 我使用 Git 作为版本控制系统 我使用 GitHub 或 Beanstalk 作为存储库主机 从理论上讲 我想要做的事情非常简单 以某种方式在 Web 应用程序的页脚中显示最新的提交 ID 号 哈希值 这样
  • Visual Studio 2010 中的数据库设计器

    我需要创建一个全新的 Sql Server 2008 数据库 并希望使用 Visual Studio 2010 Ultimate 中的数据库项目 我已经创建了该项目并在下面添加了一个表格dbo架构 桌子 sql仅以纯文本形式显示 但带有颜色
  • 在 blazor 中添加全局使用指令

    命名空间 MyClassLibrary Models 中不存在类型或命名空间名称 XXX 是否缺少程序集引用 该错误参考此 BlazorProject MyPager azor g cs 在这种情况下我得到了这个错误 创建了一个类型的文件
  • 使用 Visual Studio 调试器在值更改时中断

    有没有办法在变量上放置监视 并且仅在该值发生变化时让 Visual Studio 中断 这将使发现棘手的国家问题变得更加容易 这可以做到吗 断点条件仍然需要设置断点 我宁愿设置一个监视并让 Visual Studio 在状态更改时设置断点

随机推荐