在版本控制中维护 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 项目文件的建议 的相关文章

  • 尝试从 Visual Studio 发布 azure 函数时出错

    当我尝试使用 Visual Studio 发布函数时收到以下错误消息 知道如何解决此问题吗 System AggregateException 发生一个或多个错误 gt System Exception 发布遇到错误 我们无法 确定错误原因
  • svn 外部...是或否?

    我在这里读到了一些谴责使用 svn externals 的答案 我确实看到它们如何被滥用 这确实使我们更加依赖 Subversion 但我真的不认为我们的团队会很快放弃它 无论如何 这就是我的困境 我们的解决方案引用了多个项目 这些项目位于
  • AnkhSVN 和 VisualSVN 可以同时使用吗?

    我想尝试 AnkhSVN 的一项功能 即与 Red Gate SQL Changeset 工具集成 而无需完全卸载 VisualSVN 这感觉很危险 所以我想看看其他人是否有经验可以减轻或证实我的恐惧 Update所以我尝试卸载 Visua
  • 安装 rpy2 时 Visual Studio cl.exe 错误

    我在 Django 中安装 rpy2 并收到以下错误 C Program Files x86 Microsoft Visual Studio 2017 Enterprise VC Tools MSVC 14 15 26726 bin Hos
  • Android studio 搁置的更改消失了,甚至在 .idea/shelf 目录中也没有

    我在 Android studio 中搁置了一些更改 然而 由于某种原因 搁置的更改不再存在 我已经检查了 project directory idea shelf 但它们也不在那里 Android studio 是否会在 idea she
  • Visual Studio 调试器提示和技巧(适用于 C/C++ 项目)

    我对有关在 Visual Studio 调试器中调试 C C 项目的提示和技巧感兴趣 我最近发现 如果您有一个指向某种数据类型的指针 比如说 char ptr 那么您可以使用以下语法在监视窗口中将其视为数组 ptr 10 这将显示 ptr
  • 是否可以使用 Visual Studio 远程调试 VirtualBox?

    我在 Sun 的开源平台上运行我们应用程序的不同版本虚拟盒子 http www virtualbox org 是否可以使用 Visual Studio 从主机操作系统远程调试应用程序 问题是 在 Visual Studio 中 当我想要连接
  • Visual Studio 找不到引用

    我正在处理另一个人移交的一些应用程序 我必须在其中记录需求 构建和部署流程 这里的问题是 Visual Studio 2005 抛出很多错误 因为它找不到 dll 的引用 这显然不会让 VS 构建该项目 在该人的计算机上一切正常 但在我的计
  • 使用 Visual Studio 测试运行器运行的 xUnit 测试的输出未显示在输出窗口中

    我创建了一个新的 NET Core 类库项目 名为FooBarBaz 然后我使用包管理器控制台来运行 Install Package xunit xunit Install Package xunit xunit runners visua
  • 引用的项目在编译时“丢失”

    我有一个包含两个项目的 C 解决方案 一个服务 主项目 和一个记录器 该服务使用记录器中的类 我在服务项目中添加了对记录器项目的引用 在设计时 自动完成工作正常 记录器的类是可见的 我使用的引用具有适当的颜色 我重建解决方案 但出现问题 不
  • Sql Server 数据库项目 - VS 2013 中缺少模板

    在 VS2012 中 我使用 Sql Server 数据库项目来管理我的数据库 我尝试将 Db 项目添加到新的 VS2013 解决方案中 但我似乎找不到模板 我在网上和已安装的模板中查看过 有任何想法吗 对我来说 它列在 其他语言 下 我有
  • Visual Studio 2015 解决方案资源管理器中 .cs 文件的点文件图标的含义是什么?

    这个点文件图标是什么意思 这是一个 cs 文件 但它在我的项目中表现不正常 我注意到解决方案资源管理器中有一个单独的图标 我已经检查过MSDN 文档 https msdn microsoft com en us library ms1813
  • 检查 datagridview 单元格是否为空或为空[重复]

    这个问题在这里已经有答案了 我必须更改单元格的背景颜色 当它们的值为字符串或空时 这是我编写的代码 与此处的其他代码类似 for int rowIndex 0 rowIndex lt dataGridView1 RowCount rowIn
  • 如何在 VS 2008 Post-Build 事件中使用系统环境变量?

    如何在项目构建后事件中使用系统环境变量 而无需编写和执行外部批处理文件 我认为这就像创建一个名为的新环境变量一样简单LHDLLDEPLOY并在我的构建后事件文本框中写入以下内容 copy TargetPath LHDLLDEPLOY Tar
  • 对齐静态字符串文字

    我有一个静态结构数组 struct CommandStruct char data unsigned ans size static const CommandStruct commands Some literal 28 Some oth
  • 将某些软件包的 nuget 软件包更新限制为当前版本

    有没有办法禁用项目中安装的特定 nuget 包的更新 我已经对几个 javascript 库包进行了一些本地修改 并且不想冒将来有人更新我的更改的风险 我从未创建过自己的 nuget 包 我猜一种选择可能是分叉现有的包 你可以尝试约束包 h
  • git 项目与存储库,根本区别是什么?

    我有两个项目当前使用 SVN 我正在迁移到 git 我注册了 gitorious 并且可以选择创建新项目或添加存储库 我刚刚开始使用 git 所以我不知道有什么区别 或者更确切地说 如果我只是在一个项目下使用存储库 这意味着什么 如果我这样
  • 使用Visual C++进行Linux开发时是否可以直接使用linux文件夹/usr/include

    我尝试使用针对 ubuntu 16 04 VM 的 Visual C for Linux Development 插件 与虚拟机的连接以及本地文件传输到远程文件夹 home user projects projectx 均成功 但是 当我尝
  • 代码合约问题

    你好 我有一个关于 CodeContracts 的小问题 我有一个类库项目 它作为一个类 具有方法 foo string s1 string s2 在 foo 方法中 我有一个 Contract Requires s1 null 因此 如果
  • 用于显示 IntelliSense 的 Visual Studio 键盘快捷键

    What s the keyboard shortcut for Visual Studio to display the IntelliSense box if one accidentally hits ESC and wants th

随机推荐