【发布时间】:2016-03-09 21:20:04
【问题描述】:
我最近开始在 Visual Studio 2015 中使用 Git,并且正在尝试修改安装程序项目的属性。问题是它不会让我,因为该项目没有被签出,而且我没有看到通过 Visual Studio 使用 Git 签出项目的选项。我什至看到提到“签出”这个词的唯一地方是在树枝下,它是灰色的。
【问题讨论】:
标签: c# asp.net .net git visual-studio
我最近开始在 Visual Studio 2015 中使用 Git,并且正在尝试修改安装程序项目的属性。问题是它不会让我,因为该项目没有被签出,而且我没有看到通过 Visual Studio 使用 Git 签出项目的选项。我什至看到提到“签出”这个词的唯一地方是在树枝下,它是灰色的。
【问题讨论】:
标签: c# asp.net .net git visual-studio
我在 VS2015 中遇到了同样的问题。这似乎是安装程序项目扩展的问题。出于某种原因,Visual Studio 不会检测到您何时尝试更改安装项目文件(使用 YourProject.vdproj),并且不会自动为您解锁它。我对 TFS 也有同样的问题,但在这种情况下,您所要做的就是手动解锁文件,方法是右键单击它。我刚刚迁移到Git,问题依然存在,但是现在你无法通过右键单击来解锁文件(因为git中没有明确的签出)。
我仍在调查这个问题,但我现在想出的唯一解决方案是在记事本中快速手动编辑 YourProject.vdproj。 Visual Studio 将识别该编辑,并为您解锁文件。之后,您可以继续使用 IDE 对 Installer 项目进行更改。
很遗憾,在您签入更改后问题又出现了,并再次尝试修改文件。您将不得不再次手动编辑它以强制 Visual Studio 为您解锁它。
编辑:在花了几个小时之后,我终于想出了一个适当的解决方案,我在一些内部项目中验证了它的工作原理。步骤如下:
我发现删除绑定是从项目文件中清除以下标签的值:
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
显然 SAK 代表 'Should Already Know'。
【讨论】:
这是我找到的解决方法, 在解决方案资源管理器中标记项目安装程序,然后单击“保存”(不是全部保存)。 对我来说,它成功了。 如果仍然没有帮助,请尝试重新打开 VS 并再次尝试该方法。
干杯!
【讨论】:
打开一个命令行,去你需要检查的地方,然后发出 git checkout 命令? http://git-scm.com/docs/git-checkout
【讨论】:
像 Eternal21 一样,我在尝试修改安装程序项目时遇到了这个问题,虽然这是在 VS2013(而不是 VS2015)项目中,但我在解决方案文件中看不到 GlobalSection(TeamFoundationVersionControl)。但是,以下步骤有效;
(并且解决方案没有要求关闭)。
【讨论】:
您需要先在 Git 服务器上创建一个新的空仓库,然后将其克隆到本地计算机上的文件夹中。
之后,您将能够添加您的项目并通过将其添加到本地文件夹来签入。
【讨论】:
我可以通过简单地在 Notepad++ 中手动编辑 vdproj 文件(设置项目文件)(您可以使用任何文本编辑器),对其进行一些临时更改(键入一个字符和退格)来解决这个问题,然后保存文件。这有效地从 GIT 中签出项目。现在您可以返回 Visual Studio 并进行所需的任何更改。
【讨论】:
我能够使用 dotNETs 建议并编辑 vdproj 文件。简单地添加一个字符并删除是行不通的,但进行实际编辑却可以。这样做触发了对 GIT 的检查。在我的情况下,我试图将 Detected Dependencies exclude 属性之一更改为 false,并且能够在编辑 vdproj 文件时这样做。一旦我保存它然后重新打开 Visual Studio,检查就会显示在我的安装程序上,并且已经应用了更改。我能够在签出时进行其他更改。
完成并签入后,我无法再编辑,需要再次手动编辑文件才能签出。
【讨论】: