gpt4 book ai didi

c# - Visual Studio SUO 文件破解应用程序

转载 作者:可可西里 更新时间:2023-11-01 09:16:10 25 4
gpt4 key购买 nike

我正在清理 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'

清理 .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): Loaded 'C:\Program Files (x86)\Microsoft Point Of Service\SDK\Samples\Example Service Objects\Microsoft.PointOfService.ExampleServiceObjects.dll'

更新 2

我通过卸载以前安装的程序发布版本(来自 VS 部署项目的 msi 安装程序)重现了遗留 .suo 的问题。当使用 legacy.suo 完成构建时,似乎会拾取安装程序创建的对 HHOS4NET.DLL 的注册表引用,而不是新的。知道在哪里寻找罪魁祸首吗?

更新 3

似乎卸载正在运行的应用程序有点转移注意力。它清除了扫描仪驱动程序依赖于查看扫描仪的 Configuration.xml 文件(PnP?是的,对)。这仍然给我留下了一个神秘的魔法。我尝试使用一个简单的 C# 控制台应用程序枚举已连接的 POS 设备,但没有成功,因此 MS 的 POSfor.NET 框架或 Honeywell 的驱动程序肯定有问题。它们确实是一个 POS。

郑重声明,在已知的“好”.suo 中没有特殊的调试设置。我从中提取了字符串,但没有什么特别之处。接下来,我将尝试将它放入控制台应用程序,看看它是否在不相关的解决方案中保留了它的神奇属性。

最佳答案

检查 SUO 是否针对特定位数。有时你必须明确。继续你的输出,当它无法加载时,问题就开始了

Program Files (x86)\Honeywell\UPOS Suite\POS4NET Suite\POS for NET\bin\HHSO4NET.dll

错误的位数会扰乱加载路径和名称解析。你有没有在神奇的 SUO 中定义任何其他路径?我可以拿一份它来剖析吗?

关于c# - Visual Studio SUO 文件破解应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23432793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com