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

问题描述 投票:0回答:3

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

例如,如果我在

branchA
上,它引入了一个包含 C# 类的新文件,请在另一个现有文件中以某种方式引用该类,然后签出不包含这些更改的
branchB
,Visual Studio将开始产生
The type or namespace name 'name' does not exist in the namespace (are you missing an assembly reference?)
。 这似乎也以相反的方式发生,如果我切换到一个引入新更改的分支,而不是在我之前的分支上,这些错误就会出现。

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

我确信这不是以前版本的 Visual Studio 中出现的行为。 我以前可以在分支之间自由切换,而以前没有发生过这种情况。 会不会有什么东西不同步?我该如何解决这个问题?

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

c# git visual-studio visual-studio-2019 git-extensions
3个回答
4
投票

更新 Visual 后遇到同样的问题

16.8版本中微软添加了新的Git体验,打破了“重新加载全部”功能。

您有两种方法可以处理此问题:

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

Preview Setting

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

Git Panel


1
投票

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

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


0
投票

这是一个一直存在的错误。我已经就此提交了许多错误报告,还有其他一些错误报告。他们拒绝做任何事情。

https://developercommunity.visualstudio.com/t/Visual-Studio-randomly-modizesreverts-/10782463

© www.soinside.com 2019 - 2024. All rights reserved.