Приложение для удаления файлов SUO в Visual Studio - программирование
Подтвердить что ты не робот

Приложение для удаления файлов SUO в Visual Studio

Я очищаю решение С# Visual Studio 2008 и сталкиваюсь с проблемой. Я пытаюсь удалить ненужные файлы при подготовке к правильному контролю кода. При этом я удалил существующий файл .suo и все двоичные артефакты, чтобы получить чистый старт. Когда я это делаю, моя программа не может получить доступ к подключенному сканеру штрих-кода через библиотеку Microsoft.PointOfService. Я сузил проблему до чего-то в .suo. Если я сохраню исходный .suo, я могу получить список подключенных сканеров. С новым, подключенный сканер не отображается в вызове PosExplorer.GetDevices().

Мне непонятно, почему все, что связано с .suo, повлияло бы на поведение программы. Решение содержит три проекта, два из которых ссылаются на основное приложение. Отслеживая эту проблему при тестировании, я обнаружил, что ссылки на эти два проекта иногда ломаются с чистым .suo и должны быть восстановлены. Однако они не имеют никакого отношения к сканеру. Я также должен повторно установить конфигурацию сборки отладки для проекта верхнего уровня.

Любые идеи? Я бы предпочел не проверять наследие .suo, если я могу избежать этого.

Обновление

Я заметил, что дополнительные DLL файлы драйвера сканера (HHSO4NET.dll) загружаются, когда используется функциональное наследие .suo. Измененные части окна вывода 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

Я воспроизвел проблему с устаревшим .suo, удалив ранее установленную версию версии программы (установщик MSI из проекта развертывания VS). Казалось бы, ссылка на реестр HHOS4NET.DLL, созданная установщиком, подбирается, когда сборка выполняется с помощью legacy.suo, а не с новой. Любые идеи, где искать виновника?

Обновление 3

Кажется, что удаление рабочего приложения было немного красной селедки. Он уничтожил файл Configuration.xml, от которого зависит драйвер сканера, чтобы увидеть сканер (PnP? Да, правильно). Это все еще оставляет меня с таинственной магией. Я попытался перечислить подключенные POS-устройства с помощью простого консольного приложения С#, и это не сработало, поэтому что-то определенно связано с инфраструктурой MS POSfor.NET или с драйвером Honeywell. Они действительно являются POS.

Для записи нет специальных настроек отладки в известном "хорошем".suo. Я извлек из него струны, и ничего не выделялось. Затем я попытаюсь использовать его в консольном приложении, чтобы узнать, сохраняет ли он свои магические свойства в несвязанном решении.

4b9b3361

Ответ 1

Проверьте, имеет ли SUO конкретную битну. Иногда вам нужно быть явным. При выходе на выход проблема начинается, когда не удается загрузить

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

Неверная битность может испортить пути загрузки и разрешение имен. У вас есть другие пути, определенные в магическом суне? Могу ли я получить его копию для рассечения?