Почему dotnet использует NET 8 для пакетов MS, когда я использую NET 6 в качестве целевой платформы?C#

Место общения программистов C#
Ответить
Гость
 Почему dotnet использует NET 8 для пакетов MS, когда я использую NET 6 в качестве целевой платформы?

Сообщение Гость »

У меня есть 1 консольное приложение и 1 библиотека.
Консольное приложение — .NET 8, тогда как библиотека — .NET 6.
Консольное приложение просто использует библиотеку как ссылку на проект и содержит некоторый код, который я создал (с помощью отражения), чтобы выяснить, какую версию .NET используют библиотеки DLL.
С другой стороны, приложение библиотеки использует пакет (

Код: Выделить всё

System.Reflection
для примера, но ничего с ним не делает).
После публикации консольного приложения (с помощью публикации в dotnet) я ожидал, что по крайней мере ссылка на пакет внутри библиотеки csproj будет в .NET 6, но это не так.
Я создал образец приложения для проверки: https://github .com/tbragaf/TestNet6WithNet8.
Здесь у меня есть шаги, которым я следую, и результат, который я запускаю, следующий:

Код: Выделить всё

TestNet6WithNet8/AppInNet8/bin/Release/net8.0/osx-arm64/publish/System.Reflection.dll; .NETCoreApp,Version=v8.0;
Можете ли вы объяснить мне, почему эта DLL указывает на .NET 8, а не на .NET 6, учитывая, что в проекте библиотеки я утверждаю обратное? Или я делаю что-то не так? (вероятный). Фактически, только библиотека DLL указывает на .NET 6.
Может быть, DLL, которую я вижу, является той, которая используется приложением, но тогда где же тогда библиотека из библиотеки? библиотека будет?
Спасибо за помощь,
Я ожидал, что System.Reflection.dll будет ориентирован на .NET 6, учитывая, что библиотека классов использует его и нацелена на .NET 6.

Подробнее здесь: https://stackoverflow.com/questions/782 ... rget-frame
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»