我正在通过外部工具在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
有关?
答案 0 :(得分:0)
我认为这与焦点变化有关。因为如果我更改了Notepad2中的.sln文件并保存它,那么在我将焦点切换到它之前,VS没有任何反应。那是对话框出现的时候。
尝试以编程方式将焦点切换到,例如Explorer,然后再返回。