未验证 提交 2c6a7694 编写于 作者: S Sam Harwell 提交者: GitHub

Merge pull request #39224 from AdamYoblick/winforms_designer_loader

Show code instead of designer, but only after trying to create the designer loader
......@@ -129,14 +129,13 @@ int IVsEditorFactory.Close()
// We must create the WinForms designer here
var loaderName = GetWinFormsLoaderName(vsHierarchy);
if (loaderName is null)
var designerService = (IVSMDDesignerService)_oleServiceProvider.QueryService<SVSMDDesignerService>();
var designerLoader = (IVSMDDesignerLoader)designerService.CreateDesignerLoader(loaderName);
if (designerLoader is null)
{
goto case "Code";
}
var designerService = (IVSMDDesignerService)_oleServiceProvider.QueryService<SVSMDDesignerService>();
var designerLoader = (IVSMDDesignerLoader)designerService.CreateDesignerLoader(loaderName);
try
{
designerLoader.Initialize(_oleServiceProvider, vsHierarchy, (int)itemid, (IVsTextLines)textBuffer);
......@@ -192,28 +191,14 @@ int IVsEditorFactory.Close()
try
{
var frameworkName = new FrameworkName(targetFrameworkMoniker);
if (frameworkName.Identifier == ".NETCoreApp" &&
frameworkName.Version?.Major >= 3)
if (frameworkName.Identifier == ".NETCoreApp" && frameworkName.Version?.Major >= 3)
{
if (!(_oleServiceProvider.QueryService<SVsShell>() is IVsShell shell))
{
return null;
}
var newWinFormsDesignerPackage = new Guid("c78ca057-cc29-421f-ad6d-3b0943debdfc");
if (!ErrorHandler.Succeeded(shell.IsPackageInstalled(newWinFormsDesignerPackage, out var installed))
|| installed == 0)
{
return null;
}
return NewLoaderName;
}
}
catch
{
// Fall back to the old loader name if there are any failures
// Fall back to the old loader name if there are any failures
// while parsing the TFM.
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册