Есть ли способ легко решить, какие пакеты в моем решении могут страдать от проблем совместимости, или я должен делать это вручную?
Фактически, когда вы переносите все установленные nuget пакеты от packages.config
до PackageReference
, при этом ошибки не будет. Упомянутая вами проблема совместимости касается только пакетов nuget, которые будут установлены позже в проекте, в новой форме PackageReference .
Так что, если вы просто заботитесь об этих установленных пакетах nuget, Я думаю, вам не нужно беспокоиться об этом. Если вы хотите установить новые пакеты nuget после переноса, я думаю, вам следует обратить внимание на следующее:
1) Если вы хотите установить . Net Framework Пакет nuget, который вы создали сами, вам нужно быть осторожным в Проблемы совместимости пакетов , и это известные проблемы, предоставляемые Microsoft, Они ищут решение этой совместимости, поэтому, пожалуйста, будьте терпеливы. Сейчас вы можете попробовать следующие советы:
Первый . Если вы хотите добавить дополнительные файлы в новый проект с помощью nuget, формат Packages.config
будет читать содержимое и скопируйте его файлы в новый проект, а PackageReference
скопирует файлы из папки ContentFiles . Поэтому вы должны добавить эти файлы в xxxx.nuspec
, чтобы упаковать эти файлы в папку ContentFiles .
<package >
<metadata>
.....
<contentFiles>
<files include="xxxx\xxxx" buildAction="content" copyToOutput="true" flatten="true" />
</contentFiles>
</metadata>
<files>
<file src="xxxx\xxxx" target="ContentFiles\any\any" />
<file src="xxxx\xxxx" target="Content" />
</files>
</package>
Second , PackageReferencce
не поддерживает install.ps1
или uninstall.ps1
. И если вы создаете несколько пакетов nuget, пожалуйста, не используйте их.
Поэтому, когда вы создаете пакеты nuget, вы должны это замечать и избегать этих пунктов.
2) Если вы устанавливаете некоторые пакеты nuget из галереи nuget , вы можете проверить зависимости nuget в пользовательском интерфейсе управления nuget . См.
В основном, если эти пакеты nuget поддерживают .NetStandard
одновременно, это означает, что вы можете установить его, используя формат PackageReference
или Packages.config
с любыми ошибками.
Надеюсь, это поможет вам.