当我dotnet sln add {myProject.csproj}
为.NET Core / Standard项目进行操作时,它会将其添加为项目类型(我认为),{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
而不是.NET Core的项目类型{9A19103F-16F7-4668-BE54-9A1E7A4F7556}
。因此,当我在Visual Studio中打开解决方案时,它抱怨并将其“升级”csproj
到.NET Framework csproj
而不是.NET Core。我可以手动编辑,sln
但比较麻烦。
难道我做错了什么?我缺少论据吗?
CLI实际上在这里做正确的事,这是VS / Project System错误。
CLI调用msbuild以获取要使用的默认项目类型GUID。MSBuild将$(DefaultProjectTypeGuid)
C#和VB项目设置为“经典”项目,以允许CLI将“经典”项目和“ SDK风格”项目添加到解决方案中。
然后,经典的GUID(FAE04EC0…
)触发一个选择逻辑,该逻辑将查看是否在项目中进行了设置TargetFramework
或TargetFrameworks
在项目中进行了设置,以确定是否将使用“新”或“经典”项目系统。这个想法是,在将来的某个更新中,将只使用新的项目系统,而经典的项目系统可能不再是VS的一部分(这是GitHub上很多评论的基调)。
根据记录的GitHub的问题,该缺陷是,当新的项目系统当选,该解决方案被更新为“新”的GUID VS /解决方案不应该看到。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句