所以我们有这个奇怪的问题。我们的应用程序是一个C#/ WinForms应用程序。在我们的6.0版本中,我们的应用程序不支持DPI。在我们的6.1版本中,它突然变成了DPI意识 在6.0版本中,如果您在高DPI中运行它,它使用Windows位图缩放,这很好,因为这不会影响屏幕布局。在6.1版本中,因为它出于某种原因变得DPI意识到,用户界面被破坏了 我们现在无法解决这个问题。我们有数百个屏幕,因此在DPI识别模式下使它们全部正常工作将花费大量时间。
我们已使用SysInternals Process Explorer确认了这一点。在我们的6.0版本中,它显示 Unaware ,但在我们的6.1版本中,它最初显示 Unaware ,但随后更改为 System Aware 。
后者发生在代码从EXE进入包含我们所有用户界面代码的程序集DLL中时(我们的EXE基本上是一个非常薄的shell;它实际上只是在我们的表示层程序集上调用一个Controller类。)
我们已确认以下内容:
我们不明白为什么我们的6.1版本突然变得DPI意识到了。我们无知还有什么可以看,我们需要一个修复程序,将此版本恢复到DPI unaware模式。它正在阻止我们的发布。非常感谢任何指针。我们愿意在这一点上尝试任何事情。