以编程方式在Visual Studio中重新加载解决方案

时间:2014-06-05 08:13:50

标签: c# visual-studio-2012

我正在通过外部工具在Visual Studio中编辑开放式解决方案(' .Sln-file)。我的程序将各种数据添加到.Sln-file。进行此编辑时,解决方案或VS-IDE似乎无法了解更改。

我正在做的是:以编程方式添加配置。假设您的项目中包含以下数据:

{EB8A3A65-3612-4E3C-967E-3432851D20F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EB8A3A65-3612-4E3C-967E-3432851D20F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EB8A3A65-3612-4E3C-967E-3432851D20F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EB8A3A65-3612-4E3C-967E-3432851D20F4}.Release|Any CPU.Build.0 = Release|Any CPU

我的程序添加了两行,这些行配置了一个新的Configuration,它改变了解决方案调试/构建中项目的方式。

{EB8A3A65-3612-4E3C-967E-3432851D20F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EB8A3A65-3612-4E3C-967E-3432851D20F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EB8A3A65-3612-4E3C-967E-3432851D20F4}.Debug-CA|Any CPU.ActiveCfg = Debug-CA|Any CPU
{EB8A3A65-3612-4E3C-967E-3432851D20F4}.Debug-CA|Any CPU.Build.0 = Debug-CA|Any CPU
{EB8A3A65-3612-4E3C-967E-3432851D20F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EB8A3A65-3612-4E3C-967E-3432851D20F4}.Release|Any CPU.Build.0 = Release|Any CPU

编辑发生时,.Sln-file确实发生了变化。但是,我无法使用相同的外部工具重新加载整个解决方案。

如果我手动关闭解决方案并重新打开,我的添加配置将被Visual Studio选中。

有没有办法以编程方式重新加载解决方案并获得可用的配置?

修改:如果解决方案位于Source Control下,则会检测到更改。我认为这与被检出的.Sln-file有关?

1 个答案:

答案 0 :(得分:0)

我认为这与焦点变化有关。因为如果我更改了Notepad2中的.sln文件并保存它,那么在我将焦点切换到它之前,VS没有任何反应。那是对话框出现的时候。

尝试以编程方式将焦点切换到,例如Explorer,然后再返回。