是否可以在不更新GUID的情况下编辑Visual Studio解决方案(.sln)文件中的项目路径?

时间:2010-01-15 22:44:34

标签: visual-studio visual-studio-2008

我有一个解决方案,链接到位于我的硬盘驱动器上其他地方的几个库项目(在我的解决方案文件夹之外)。

我想更改内容,以便这些项目文件夹现在我的解决方案文件夹中。

到目前为止,我已将项目文件夹复制到我的解决方案文件夹中。看一下我的项目的.sln文件,我注意到有很多条目看起来像这样:

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FooBar", "..\..\..\Libraries\FooBar\FooBar.csproj", "{89FABBC5-4019-4887-AFE3-B005B0471486}"

我在想,如果我能从所有相对路径中摆脱..\..\..\Libraries\,那不是很好吗?

然而,这些GUID吓跑了我。如果我保持GUID相同,这会导致问题吗?

哦,如果你知道更好的方法,请告诉我:)

2 个答案:

答案 0 :(得分:5)

是的 - GUID是各个项目的唯一标识符,但它们不以任何方式,形状或形式链接到项目的路径。只是稍后在.sln文件中使用的标识符。

绝对安全:-),制作* .sln,然后编辑的备份副本,然后在Visual Studio中打开新编辑的.sln。

答案 1 :(得分:0)

在大多数情况下,这似乎有效,但我遇到了安装项目/安装程序的问题。当我在编辑.sln文件后重新打开我的解决方案时,我的解决方案将无法构建。我收到以下错误:

  

验证时发生错误。 HRESULT = '80004005'

我尝试从头开始完全删除并重建我的安装项目,但错误仍然存​​在。唯一有效的方法是使用Visual Studio中的解决方案资源管理器删除并重新添加每个项目。

所以课程是:编辑.sln项目文件需要您自担风险。如果你有一个安装项目,很可能会破坏。

<强>更新

这是一个进一步解释“HRRESULT”错误的链接: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=434666

相关问题