我正在清理C#Visual Studio 2008解决方案,并遇到了麻烦.我正在尝试删除不必要的文件,以准备将代码置于适当的版本控制之下.在这样做时,我删除了现有的.suo文件和所有二进制工件,以获得干净的开始.当我这样做时,我的程序无法通过Microsoft.PointOfService库访问连接的条形码扫描仪.我已经将问题缩小到.suo中.如果我保留原始.suo,我可以检索连接的扫描仪列表.使用新的连接扫描仪时,连接的扫描仪不会显示在呼叫中PosExplorer.GetDevices().
我不清楚为什么与.suo相关的任何事情都会影响程序的行为.该解决方案包含三个项目,其中两个由主应用程序引用.在测试中跟踪这个问题时,我发现对这两个项目的引用有时会破坏干净的.suo并且必须重新建立.它们与扫描仪无关.我还必须重新启用顶级项目的调试构建配置.
有任何想法吗?如果我可以避免,我宁愿不必检查遗产.suo.
更新
我注意到当使用功能性遗留.suo时,其他扫描仪驱动程序DLL(HHSO4NET.dll)正在加载.VS输出窗口的更改部分如下所示.
旧版.suo输出窗口:
'foo.vshost.exe' (Managed): Loaded 'C:\Program Files (x86)\Honeywell\UPOS Suite\POS4NET Suite\POS for NET\bin\HHSO4NET.dll'
'foo.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.PointOfService.ControlBase\1.12.0.0__31bf3856ad364e35\Microsoft.PointOfService.ControlBase.dll'
'foo.vshost.exe' (Managed): Loaded 'C:\Program Files (x86)\Microsoft Point Of Service\SDK\Samples\Simulator Service Objects\Microsoft.PointOfService.DeviceSimulators.dll'
'foo.vshost.exe' (Managed): Loaded 'C:\Program Files (x86)\Microsoft Point Of Service\SDK\Samples\Example Service Objects\Microsoft.PointOfService.ExampleServiceObjects.dll'
'foo.vshost.exe' (Managed): Loaded 'C:\Program Files (x86)\Honeywell\UPOS Suite\POS4NET Suite\POS for NET\bin\HHSO4NET.dll'
'foo.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.PointOfService.ControlBase\1.12.0.0__31bf3856ad364e35\Microsoft.PointOfService.ControlBase.dll'
Run Code Online (Sandbox Code Playgroud)
清理.suo输出窗口:
'foo.vshost.exe' (Managed): Loaded 'C:\Program Files (x86)\Microsoft Point Of Service\SDK\Samples\Simulator Service Objects\Microsoft.PointOfService.DeviceSimulators.dll'
'foo.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.PointOfService.ControlBase\1.12.0.0__31bf3856ad364e35\Microsoft.PointOfService.ControlBase.dll'
'foo.vshost.exe' (Managed): …Run Code Online (Sandbox Code Playgroud) 我正在移植一个使用 Pango 将文本绘制到开罗表面的 Python2 脚本。使用带有pangocairo包的旧 PyGtk API 可以正常工作。我的系统 (Debian Jesse) 没有用于 PyGtk 的 Python3 软件包,而是使用带有 PyGObject API 的较新的 Gtk+ 库。
我想创建一个pangocairo.CairoContext对象,但新 API 中似乎缺少它。该PangoCairo包有一个create_context()函数,但它生成的PangoContext对象没有我需要的方法。
到目前为止,我有这个:
import cairo
from gi.repository import Pango
from gi.repository import PangoCairo
surf = cairo.ImageSurface(cairo.FORMAT_ARGB32, 8, 8)
ctx = cairo.Context(surf)
pctx = PangoCairo.create_context(ctx) # Creates a PangoContext
pctx.set_antialias(cairo.ANTIALIAS_SUBPIXEL) # This fails
Run Code Online (Sandbox Code Playgroud)
有效的旧 Python2 代码:
import cairo
import pango
import pangocairo
surf = cairo.ImageSurface(cairo.FORMAT_ARGB32, 8, 8)
ctx = cairo.Context(surf) …Run Code Online (Sandbox Code Playgroud)