微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

切换分支后重新加载所有项目不会重新加载项目

如何解决切换分支后重新加载所有项目不会重新加载项目

我在一个包含八个 C# 项目的大型 Web API 上进行开发。通常,我会在存储库中的分支之间切换以处理不同的任务。我使用 Git 扩展作为使用 Git 的首选工具,每当我检出不同的分支时,Visual Studio 都会提示我重新加载项目(如果检测到更改)。我通常选择“全部重新加载”按钮。这样做之后,我不断收到错误,这些错误是由我之前所在分支的遗留更改引起的。

例如,如果我在 if (text == "/FlashOn") { do stuff } else { if (text == "/start"){ do stuff } else { report error } } 上,它引入了一个包含 C# 类的新文件,请在另一个现有文件中以某种方式引用该类,然后签出 branchA包含这些更改,Visual Studio 将开始生成 branchB。这似乎也发生在相反的情况下,如果我切换到一个引入新更改的分支,而不是在我以前的分支上,这些错误就会出现。

在选择“全部重新加载”按钮后,似乎没有检测到项目的 .csproj 文件已更新。这方面的证据是解决方案资源管理器仍然显示这些文件,但它们上带有红色“X”符号,表示项目希望该文件存在,但它目前不存在于磁盘上。我已经确保 .csproj 文件确实在更改分支后得到更新。目前唯一对我有用的解决方案是,如果我右键单击项目并卸载然后重新加载它们,或者如果我关闭解决方案/Visual Studio 并重新打开 - 这两种方法都很乏味。

我相信这不是以前在 Visual Studio 的早期版本中看到的行为。我曾经能够在分支之间自由切换,过去没有发生过这种情况。 可能有什么不同步吗?我该如何解决

这是使用 Visual Studio 2019 Enterprise(版本 16.10.3)。

解决方法

更新Visual后遇到同样的问题

16.8 version 中,Microsoft 添加了新的 Git experience,破坏了“重新加载所有”功能。

您有两种方法可以解决这个问题:

  1. 转至工具 → 选项 → 环境 → 预览功能。关闭“新 Git 用户体验”选项。

Preview Setting

  1. 使用 Visual Studio git 面板签出(Git → 管理分支)。

Git Panel

,

如果您逐个重新加载项目而不是单击全部重新加载,它应该正确更新它们。不是解决方案,而是在修复之前稍微好一点的解决方法。

取消选中“新 Git 用户体验”对我不起作用,因此采用了这种替代方法。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?