#c# #visual-studio #msbuild #windows-installer #nuget-package
#c# #visual-studio #msbuild #windows-установщик #nuget-пакет
Вопрос:
У меня есть проект типа WinForms в .NET Standard 2.0. Я хочу создать msi-файл для среды тестирования.
Однако, когда я компилирую исходный проект (WinForms), все идет хорошо.
Когда я создаю проект, который генерирует msi, я получаю сообщение об ошибке:
Не удается найти зависимость ‘SYSTEM. ДАННЫЕ. ODBC’ (Подпись -‘B03F5F7F11D50A3A’ Версия -‘0.0.0.0’) сборки ‘GenericDataAccess’.
Я проверил, где я использую пакет Nuget с именем SYSTEM. ДАННЫЕ. ODBC и я увидели, что его зависимости nuget.org являются ЧИСТЫМ стандартом 2.0. Он также поддерживает NET Framework 4.7.2. Итак, я попытался понизить версию компонента до этой версии, чтобы посмотреть, сработало ли это. Но когда я понижаю его, я получаю следующую ошибку при попытке собрать MSI-файл:
Не удается найти зависимость ‘SYSTEM. Диагностика. ТРАССИРОВКА ‘ (Подпись -‘B03F5F7F11D50A3A’ Версия -‘0.0.0.0’) сборки ‘netstandard.dll ‘
И это не единственная зависимость, которая терпит неудачу. Как я могу проверить зависимости, чтобы предотвратить ошибки компиляции?
Комментарии:
1. Каков ваш тип проекта установщика? Ваш проект был нацелен на
net472
? Кроме того, какую версиюSystem.Data.Odbc
пакета nuget вы использовали?2.
I have a WinForms type project in .NET Standard 2.0.
Что это значит? проект net framework, который зависит от проекта net standard lib? Или что-нибудь еще? Пожалуйста, предоставьте более подробную информацию.3. Тип проекта установки — установщик Visual Studio: marketplace.visualstudio.com/… Проект перешел в net48. Версия ODBC — 4.7.0.
4. Это проект Windows Forms, который зависит от другого проекта типа библиотеки классов, созданного мной. Эта библиотека классов использует версию 4.7.0 System.Data. Библиотека ODBC.
5. 1) добавьте
<PropertyGroup><RestoreProjectStyle>PackageReference</RestoreProjectStyle></PropertyGroup>
xxx.csproj
файл вашего проекта winform, а затем перестройте свой проект winform. 2) щелкните правой кнопкой мыши на вашем проекте установщика ->Add
->Project Output
-> выберите ваш проект winform иLocally-Copied Items
. Кроме того, вы можете ввестиAdd
->Assembly
для добавленияSystem.Data.Odbc.dll
в проект установщика.