Visual Studio SLN配置文件:Map问题

qlzsbp2j  于 2023-11-21  发布在  其他
关注(0)|答案(1)|浏览(179)

我想自定义解决方案的sln文件,以管理:

  • 3个项目
  • 5种配置:重复、Production_total、Production_Partial、Release和Recette

每个配置都应该使用“任何CPU”平台。
我得出了这样的结论:

  1. Microsoft Visual Studio Solution File, Format Version 12.00
  2. # Visual Studio Version 17
  3. VisualStudioVersion = 17.3.32922.545
  4. MinimumVisualStudioVersion = 10.0.40219.1
  5. Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "Dumbow2", "Dumbow 2\Dumbow2.vbproj", "{101E24DB-EFB4-4375-A206-AC3FD4518FE7}"
  6. ProjectSection(ProjectDependencies) = postProject
  7. {9DD6A3BA-4177-477A-A4BF-DEC95B7984C3} = {9DD6A3BA-4177-477A-A4BF-DEC95B7984C3}
  8. EndProjectSection
  9. EndProject
  10. Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "Dumbow2_update_version_reference", "Dumbow2_update_version_reference\Dumbow2_update_version_reference.vbproj", "{9DD6A3BA-4177-477A-A4BF-DEC95B7984C3}"
  11. ProjectSection(ProjectDependencies) = postProject
  12. {0B3CCBC2-9BE8-4B03-9D91-86ED2474F133} = {0B3CCBC2-9BE8-4B03-9D91-86ED2474F133}
  13. EndProjectSection
  14. EndProject
  15. Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "Dumbow2_prebuilt", "Dumbow2_prebuilt\Dumbow2_prebuilt.vbproj", "{0B3CCBC2-9BE8-4B03-9D91-86ED2474F133}"
  16. EndProject
  17. Global
  18. GlobalSection(SolutionConfigurationPlatforms) = preSolution
  19. Debug|Any CPU = Debug|Any CPU
  20. Production_Partial|Any CPU = Production_Partial|Any CPU
  21. Production_Total|Any CPU = Production_Total|Any CPU
  22. Release|Any CPU = Release|Any CPU
  23. Recette|Any CPU = Recette|Any CPU
  24. EndGlobalSection
  25. GlobalSection(ProjectConfigurationPlatforms) = postSolution
  26. {101E24DB-EFB4-4375-A206-AC3FD4518FE7}.Debug|Any CPU.ActiveCfg = Debug|x64
  27. {101E24DB-EFB4-4375-A206-AC3FD4518FE7}.Debug|Any CPU.Build.0 = Debug|x64
  28. {101E24DB-EFB4-4375-A206-AC3FD4518FE7}.Production_Total|Any CPU.ActiveCfg = Production_Total|x64
  29. {101E24DB-EFB4-4375-A206-AC3FD4518FE7}.Production_Total|Any CPU.Build.0 = Production_Total|x64
  30. {101E24DB-EFB4-4375-A206-AC3FD4518FE7}.Production_Partial|Any CPU.ActiveCfg = Production_Partial|x64
  31. {101E24DB-EFB4-4375-A206-AC3FD4518FE7}.Production_Partial|Any CPU.Build.0 = Production_Partial|x64
  32. {101E24DB-EFB4-4375-A206-AC3FD4518FE7}.Release|Any CPU.ActiveCfg = Release|x64
  33. {101E24DB-EFB4-4375-A206-AC3FD4518FE7}.Release|Any CPU.Build.0 = Release|x64
  34. {101E24DB-EFB4-4375-A206-AC3FD4518FE7}.Recette|Any CPU.ActiveCfg = Recette|x64
  35. {101E24DB-EFB4-4375-A206-AC3FD4518FE7}.Recette|Any CPU.Build.0 = Recette|x64
  36. {9DD6A3BA-4177-477A-A4BF-DEC95B7984C3}.Debug|Any CPU.ActiveCfg = Debug|x64
  37. {9DD6A3BA-4177-477A-A4BF-DEC95B7984C3}.Debug|Any CPU.Build.0 = Debug|x64
  38. {9DD6A3BA-4177-477A-A4BF-DEC95B7984C3}.Production_Total|Any CPU.ActiveCfg = Production_Total|x64
  39. {9DD6A3BA-4177-477A-A4BF-DEC95B7984C3}.Production_Total|Any CPU.Build.0 = Production_Total|x64
  40. {9DD6A3BA-4177-477A-A4BF-DEC95B7984C3}.Production_Partial|Any CPU.ActiveCfg = Production_Partial|x64
  41. {9DD6A3BA-4177-477A-A4BF-DEC95B7984C3}.Production_Partial|Any CPU.Build.0 = Production_Partial|x64
  42. {9DD6A3BA-4177-477A-A4BF-DEC95B7984C3}.Release|Any CPU.ActiveCfg = Release|x64
  43. {9DD6A3BA-4177-477A-A4BF-DEC95B7984C3}.Release|Any CPU.Build.0 = Release|x64
  44. {9DD6A3BA-4177-477A-A4BF-DEC95B7984C3}.Recette|Any CPU.ActiveCfg = Recette|x64
  45. {9DD6A3BA-4177-477A-A4BF-DEC95B7984C3}.Recette|Any CPU.Build.0 = Recette|x64
  46. {0B3CCBC2-9BE8-4B03-9D91-86ED2474F133}.Debug|Any CPU.ActiveCfg = Debug|x64
  47. {0B3CCBC2-9BE8-4B03-9D91-86ED2474F133}.Debug|Any CPU.Build.0 = Debug|x64
  48. {0B3CCBC2-9BE8-4B03-9D91-86ED2474F133}.Production_Total|Any CPU.ActiveCfg = Production_Total|x64
  49. {0B3CCBC2-9BE8-4B03-9D91-86ED2474F133}.Production_Total|Any CPU.Build.0 = Production_Total|x64
  50. {0B3CCBC2-9BE8-4B03-9D91-86ED2474F133}.Production_Partial|Any CPU.ActiveCfg = Production_Partial|x64
  51. {0B3CCBC2-9BE8-4B03-9D91-86ED2474F133}.Production_Partial|Any CPU.Build.0 = Production_Partial|x64
  52. {0B3CCBC2-9BE8-4B03-9D91-86ED2474F133}.Release|Any CPU.ActiveCfg = Release|x64
  53. {0B3CCBC2-9BE8-4B03-9D91-86ED2474F133}.Release|Any CPU.Build.0 = Release|x64
  54. {0B3CCBC2-9BE8-4B03-9D91-86ED2474F133}.Recette|Any CPU.ActiveCfg = Recette|x64
  55. {0B3CCBC2-9BE8-4B03-9D91-86ED2474F133}.Recette|Any CPU.Build.0 = Recette|x64
  56. EndGlobalSection
  57. GlobalSection(SolutionProperties) = preSolution
  58. HideSolutionNode = FALSE
  59. EndGlobalSection
  60. GlobalSection(ExtensibilityGlobals) = postSolution
  61. SolutionGuid = {D8CF22E9-68E7-417A-8707-BAF2C4AC2391}
  62. EndGlobalSection
  63. EndGlobal

字符串
在Visual Studio中加载解决方案,但我得到“当前解决方案包含不正确的配置Map”。问题是来自“自定义”SLN文件,还是来自解决方案中每个项目的SLN文件和vbproj文件之间存在一些不匹配的事实?
最后一个问题:在Visual Studio UI中,只显示两个配置。我不明白为什么。

cx6n0qe3

cx6n0qe31#

我可以重现你的情况:


的数据
您的.sln文件有问题。
GlobalSection(ProjectConfigurationPlatforms)部分显示了到x64的配置Map,而您打算使用Any CPU
我这边是:


的数据
一旦我变成这样:



问题将消失:



如果您手动编写sln像原来的(Map到x64),您应该能够重现问题。
正如Jonathan所说,请不要尝试手动编写sln文件,否则,可能会出现一些意想不到的错误。
在Visual Studio UI中,只显示两个配置。我不明白为什么。
手动修改后需要重新打开vs,说实话,vs不仅考虑你的书写,也考虑其他地方的缓存,重新加载后会重新格式化,建议你不要写,否则会出意外。
但我也可以重现这种情况。
这是我的sln文件:

  1. Microsoft Visual Studio Solution File, Format Version 12.00
  2. # Visual Studio Version 17
  3. VisualStudioVersion = 17.5.33530.505
  4. MinimumVisualStudioVersion = 10.0.40219.1
  5. Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConsoleApp7", "ConsoleApp7.csproj", "{D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}"
  6. EndProject
  7. Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "ConsoleApp8", "..\ConsoleApp8\ConsoleApp8.vbproj", "{AAC48834-364F-4CD9-81F8-34D5264A1A05}"
  8. EndProject
  9. Global
  10. GlobalSection(SolutionConfigurationPlatforms) = preSolution
  11. Debug|Any CPU = Debug|Any CPU
  12. Production_Partial|Any CPU = Production_Partial|Any CPU
  13. Production_Total|Any CPU = Production_Total|Any CPU
  14. Release|Any CPU = Release|Any CPU
  15. Recette|Any CPU = Recette|Any CPU
  16. EndGlobalSection
  17. GlobalSection(ProjectConfigurationPlatforms) = postSolution
  18. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
  19. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
  20. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.Production_Partial|Any CPU.ActiveCfg = Release|Any CPU
  21. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.Production_Partial|Any CPU.Build.0 = Release|Any CPU
  22. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
  23. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.Release|Any CPU.Build.0 = Release|Any CPU
  24. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.test|Any CPU.ActiveCfg = Release|Any CPU
  25. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.test|Any CPU.Build.0 = Release|Any CPU
  26. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.test4|Any CPU.ActiveCfg = Release|Any CPU
  27. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.test4|Any CPU.Build.0 = Release|Any CPU
  28. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.test5|Any CPU.ActiveCfg = Release|Any CPU
  29. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.test5|Any CPU.Build.0 = Release|Any CPU
  30. {AAC48834-364F-4CD9-81F8-34D5264A1A05}.Debug|Any CPU.ActiveCfg = test2|Any CPU
  31. {AAC48834-364F-4CD9-81F8-34D5264A1A05}.Debug|Any CPU.Build.0 = test2|Any CPU
  32. {AAC48834-364F-4CD9-81F8-34D5264A1A05}.Production_Partial|Any CPU.ActiveCfg = Production_Partial|Any CPU
  33. {AAC48834-364F-4CD9-81F8-34D5264A1A05}.Release|Any CPU.ActiveCfg = Release|Any CPU
  34. {AAC48834-364F-4CD9-81F8-34D5264A1A05}.Release|Any CPU.Build.0 = Release|Any CPU
  35. {AAC48834-364F-4CD9-81F8-34D5264A1A05}.test|Any CPU.ActiveCfg = test|Any CPU
  36. {AAC48834-364F-4CD9-81F8-34D5264A1A05}.test|Any CPU.Build.0 = test|Any CPU
  37. EndGlobalSection
  38. GlobalSection(SolutionProperties) = preSolution
  39. HideSolutionNode = FALSE
  40. EndGlobalSection
  41. GlobalSection(ExtensibilityGlobals) = postSolution
  42. SolutionGuid = {4A4DFA2A-F099-4DDC-86E1-343A4B11F86A}
  43. EndGlobalSection
  44. EndGlobal

字符串
并且未加载活动配置:



如果你真的想写并让它工作,请不要复制和粘贴(它可能包含意外的字节),手动一个接一个地写,它在我这边工作:
例如,我这样写'Recette'部分:

  1. Microsoft Visual Studio Solution File, Format Version 12.00
  2. # Visual Studio Version 17
  3. VisualStudioVersion = 17.5.33530.505
  4. MinimumVisualStudioVersion = 10.0.40219.1
  5. Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConsoleApp7", "ConsoleApp7.csproj", "{D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}"
  6. EndProject
  7. Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "ConsoleApp8", "..\ConsoleApp8\ConsoleApp8.vbproj", "{AAC48834-364F-4CD9-81F8-34D5264A1A05}"
  8. EndProject
  9. Global
  10. GlobalSection(SolutionConfigurationPlatforms) = preSolution
  11. Debug|Any CPU = Debug|Any CPU
  12. Production_Partial|Any CPU = Production_Partial|Any CPU
  13. Release|Any CPU = Release|Any CPU
  14. test|Any CPU = test|Any CPU
  15. Recette|Any CPU = Recette|Any CPU
  16. EndGlobalSection
  17. GlobalSection(ProjectConfigurationPlatforms) = postSolution
  18. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
  19. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
  20. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.Production_Partial|Any CPU.ActiveCfg = Release|Any CPU
  21. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.Production_Partial|Any CPU.Build.0 = Release|Any CPU
  22. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
  23. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.Release|Any CPU.Build.0 = Release|Any CPU
  24. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.test|Any CPU.ActiveCfg = Release|Any CPU
  25. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.test|Any CPU.Build.0 = Release|Any CPU
  26. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.test4|Any CPU.ActiveCfg = Release|Any CPU
  27. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.test4|Any CPU.Build.0 = Release|Any CPU
  28. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.test5|Any CPU.ActiveCfg = Release|Any CPU
  29. {D5EBDFAE-03A5-466C-9DE1-907AEDAE83CF}.test5|Any CPU.Build.0 = Release|Any CPU
  30. {AAC48834-364F-4CD9-81F8-34D5264A1A05}.Debug|Any CPU.ActiveCfg = test2|Any CPU
  31. {AAC48834-364F-4CD9-81F8-34D5264A1A05}.Debug|Any CPU.Build.0 = test2|Any CPU
  32. {AAC48834-364F-4CD9-81F8-34D5264A1A05}.Production_Partial|Any CPU.ActiveCfg = Production_Partial|Any CPU
  33. {AAC48834-364F-4CD9-81F8-34D5264A1A05}.Release|Any CPU.ActiveCfg = Release|Any CPU
  34. {AAC48834-364F-4CD9-81F8-34D5264A1A05}.Release|Any CPU.Build.0 = Release|Any CPU
  35. {AAC48834-364F-4CD9-81F8-34D5264A1A05}.test|Any CPU.ActiveCfg = test|Any CPU
  36. {AAC48834-364F-4CD9-81F8-34D5264A1A05}.test|Any CPU.Build.0 = test|Any CPU
  37. EndGlobalSection
  38. GlobalSection(SolutionProperties) = preSolution
  39. HideSolutionNode = FALSE
  40. EndGlobalSection
  41. GlobalSection(ExtensibilityGlobals) = postSolution
  42. SolutionGuid = {4A4DFA2A-F099-4DDC-86E1-343A4B11F86A}
  43. EndGlobalSection
  44. EndGlobal


它的工作原理是:



记住要一个一个写,否则修改会立即被VS删除(我怀疑你是一次添加完的)。

**无论如何,我强烈不建议你手写。**这可能会导致很多问题。虽然你现在遇到的一些事情可以手写,但请只作为尝试(以更好地理解它)。请记住,VS不仅指您手动编写的sln文件,还指许多其他二进制文件,缓存和类似的东西。

展开查看全部

相关问题