У меня Visual Studio 2019 Community Edition
Шаги для воспроизведения:
Я загружаю VS и запускаю новый проект стандартной библиотеки C # .Net.Я иду в Nuget Pkg Manager и устанавливаю ЛЮБОЙ пакет nuget.Я добавляю одну строку в Class1.cs, чтобы использовать Type из пакета.
Например, если я устанавливаю пакет с пустыми файлами WatsonTCP, я изменяю Class1.cs, чтобы он выглядел так:
using System;
using WatsonTcp;
namespace NugetTest
{
public class Class1
{
public Class1()
{
WatsonTcpClient client = new WatsonTcpClient("", 0);
}
}
}
Я нажал «Восстановить решение».Я проверяю папку bin / Debug, и там нет ни одного dll для пакета nuget.То же самое с bin / Release для сборки Release.
Я выполнил столько SO-проблем, сколько смог.Я прочитал документацию MSDN по nuget.
Я установил параметры сборки и запуска MSBuild в подробные.В журнале сборки я вижу что-то вроде следующего вывода для каждой dll :
Primary reference "WatsonTcp, Version=2.0.7.0, Culture=neutral, PublicKeyToken=null".
Resolved file path is "C:\Users\James\.nuget\packages\watsontcp\2.0.7\lib\netstandard2.0\WatsonTcp.dll".
Reference found at search path location "{HintPathFromItem}".
This reference is not "CopyLocal" because at least one source item had "Private" set to "false" and no source items had "Private" set to "true".
Я предполагаю, что это уведомление о CopyLocal является причиной, по которой ничего не выводится в сборкепапка.Но я не уверен на 100%.
SO в основном содержит более старые вопросы, относящиеся к эпохе, предшествующей «пакетной ссылке», до .Net Core и .Net Standard.В результате, всякий раз, когда я ищу проблемы, относящиеся к «CopyLocal», я получаю информацию о явной установке свойства CopyLocal в справочнике DLL.Я не нахожу ничего полезного, чтобы решить мою проблему с автоматическим определением CopyLocal системой Package Reference и системой RAR.
Кто-нибудь может помочь?