与此问题类似于4k屏幕上的Visual Studio 2013高DPI我已经发布了答案,但现在已经删除,因为发现了下面的问题.
我刚刚购买了一台新的4K笔记本电脑,并且在VS2013中显示SSIS封装设计器和对话框以及SSMS中的对话框等问题时出现了高DPI问题.
我找到的SSMS解决方法是启用位图缩放并创建清单文件 - ssms.exe.manifest - 与ssms.exe位于同一文件夹中.
本文介绍如何为SSMS解决此问题
为了完整起见,我复制了文章中描述的过程.
设置此注册表项:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide]
"PreferExternalManifest"=dword:00000001
Run Code Online (Sandbox Code Playgroud)
然后将此xml粘贴到清单文件中.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
Run Code Online (Sandbox Code Playgroud)
现在这对于SSMS来说效果很好(到目前为止),所以我尝试将此修复程序应用于VS2013.虽然它确实解决了SSIS设计器显示问题,但在尝试启动调试器时会出现问题.此外,这会影响调试其他项目类型 - C#,VB以及SSIS项目.
我猜测清单中的依赖项是不完整或不准确的,因为0x80040155COM接口没有注册错误代码.
Unable to start debugging.
An error occurred …Run Code Online (Sandbox Code Playgroud)