为何添加ARM模板项目后Visual Studio会修改所有项目的GUID
新增ARM模板项目时解决方案修改所有项目GUID问题说明
问题原文
我哪里操作有误?为什么我添加新的ARM模板项目时,解决方案会修改所有项目的GUID?
我向解决方案中添加一个现有项目:
之后我选择了Azure资源组部署项目:
为什么它会修改所有项目的GUID?
问题解答
这不是你操作失误导致的,是旧版本Visual Studio中Azure开发组件的已知Bug,在向包含多个现有项目的解决方案里新增Azure资源组(ARM模板)项目时,会错误重写解决方案文件(.sln)中所有已存在项目的关联GUID。
对应的解决和规避方法如下:
- 优先将Visual Studio的Azure开发工作负载、Azure Resource Group Tools扩展更新到最新版本,微软已经在后续版本中修复了这个问题
- 如果暂时无法更新组件,添加ARM项目前先备份.sln解决方案文件,若出现GUID被修改的情况,用备份的.sln文件覆盖即可,不会影响项目的实际功能和代码
- 也可以用临时规避方案:先创建一个空白解决方案并添加ARM模板项目,再把现有其他项目逐个添加到这个新解决方案中,就能避开该Bug
补充说明:就算不慎出现了GUID被修改的情况,只要各个项目自身的项目文件(.csproj/.vbproj等)内部的GUID没有被改动,仅解决方案文件里的引用GUID变更,除了会影响本地源代码管理的提交记录对比外,不会对项目的编译、运行、部署产生任何实际负面影响。
内容的提问来源于stack exchange,提问作者Alex Gordon
相关产品推荐
相关产品推荐

