Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 在Visual Studio解决方案(.sln)文件中编辑项目路径而不更新GUID是否可以?_Visual Studio_Visual Studio 2008 - Fatal编程技术网

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

Visual studio 在Visual Studio解决方案(.sln)文件中编辑项目路径而不更新GUID是否可以?,visual-studio,visual-studio-2008,Visual Studio,Visual Studio 2008,我有一个解决方案,它链接到位于硬盘上其他位置(在我的解决方案文件夹之外)的几个库项目 我想更改一些内容,以便这些项目文件夹现在位于我的解决方案文件夹中 到目前为止,我已将项目文件夹复制到解决方案文件夹中。查看我的项目的.sln文件,我注意到有一组条目如下所示: Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FooBar", "..\..\..\Libraries\FooBar\FooBar.csproj", "{89FABBC5-401

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

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

到目前为止,我已将项目文件夹复制到解决方案文件夹中。查看我的项目的.sln文件,我注意到有一组条目如下所示:

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FooBar", "..\..\..\Libraries\FooBar\FooBar.csproj", "{89FABBC5-4019-4887-AFE3-B005B0471486}"
我在想,如果我能从所有的相关路径中去掉
。\..\..\\\\\\\\\\\\\\\\\\\\\\\\\\
,这不是很好也很容易吗

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


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

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


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

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

验证时出错。HRESULT='80004005'

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

因此,教训是:编辑.sln项目文件,风险自负。如果您有一个安装项目,它很可能会崩溃

更新

以下是进一步解释“HRRESULT”错误的链接:

在等待答案时,我抓住了一个机会,完全按照您的建议做了(在版本控制中添加了一个检查:)。工作得很有魅力。谢谢你和+1让我放心。嗯……现在我注意到我的安装项目有问题。主项目运行良好,但我的安装程序没有构建。错误是:“验证.HRESULT='80004005'时出错。我尝试从头开始重建安装程序。没用。所以,我最终删除并添加了每个库项目,恢复了我主要项目中的引用,瞧,我又开始做生意了。因此,对我的问题的正确答案可能是:“当然,只要你没有安装项目。”如果你有安装项目,你可能需要使用VS并通过GUI完成所有事情。