代码之家  ›  专栏  ›  技术社区  ›  devuxer

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

  •  2
  • devuxer  · 技术社区  · 15 年前

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

    我想更改内容,使这些项目文件夹现在 里面 我的解决方案文件夹。

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

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

    我在想,如果我能摆脱它,这不是很好和容易吗? ..\..\..\Libraries\ 从所有的相对路径?

    然而,这些吉他把我吓跑了。如果我让guid保持不变,这会导致问题吗?

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

    2 回复  |  直到 15 年前
        1
  •  5
  •   marc_s    15 年前

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

    为了绝对安全起见:—),备份您的*.sln, 然后 在您的Visual Studio中编辑并打开新编辑的.sln。

        2
  •  0
  •   devuxer    15 年前

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

    验证时出错。hresult='80004005'

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

    所以教训是: 自行承担风险编辑.sln项目文件。如果您有一个安装项目,它很可能会中断。

    更新

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