Пакет стороннего dll в контексте многоцелевого фреймворкового проекта. Net Framework &. Net Core
Я попробовал ваш пример и столкнулся с той же проблемой на моей стороне , Когда я использую TargetFrameworks
, чтобы установить такие DLL в многоцелевых проектах и столкнуться с той же ситуацией.
А <pack>true</pack>
не работает из-за вашего состояния. Но когда я смотрел в выходную папку в таком проекте, <CopyToOutputDirectory>Always</CopyToOutputDirectory>
работает. И в соответствии с условиями, скопируйте два типа DLL в соответствующую целевую папку платформы.
Однако , pack не работает, но все же странно.
Так что я сообщаю об этой проблеме на нашем форуме D C. Смотрите эту ссылку . Вы можете проголосовать за эту проблему и добавить любые комментарии, если я не описал проблему подробно. И любой, кто интересуется этим вопросом, проголосует за вас, чтобы сотрудники привлекли к нему больше внимания.
Предложение
В качестве предложения , вы можете использовать файл nuspe c с nuget.exe cli для упаковки ваш проект, который я успешно протестировал.
1) загрузите nuget.exe по этой ссылке и настройте его путь в системной переменной среды PATH .
2) вызвать командную строку разработчика для VS или CMD, а затем cd
путь к вашему проекту (который существует xxx.csproj
)
Затем вызвать nuget spec
и получить xxx.nuspec
файл
3) открыть xxx.nuspec
файл и изменить его следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<package >
<metadata>
......
</metadata>
<files>
<file src="bin\Debug\net451\amqmdnet.dll" target="lib\net451" />
<file src="bin\Debug\net451\PRCB.IBM.MQ.dll" target="lib\net451"/>
<file src="bin\Debug\netcoreapp3.1\amqmdnetstd.dll" target="lib\netcoreapp3.1" />
<file src="bin\Debug\netcoreapp3.1\PRCB.IBM.MQ.dll" target="lib\netcoreapp3.1" />
</files>
</package>
4) Наконец, введите nuget pack xxx.nuspec
и вы получите файл xxx.nupkg
.