Как мне поделиться классом между Blazor wasm и .Net 5?

У меня есть приложение Blazor wasm (стандарт .net 2.1), и я хочу поделиться библиотекой классов .Net 5. Я думал, что, когда вышел .Net 5, между ядром .net и стандартными юниверсами .net будет гармония, но я не вижу этого в последних версиях моих SDK для .Net 5, средах выполнения и VS 2019.

Я получаю ошибку ссылки проекта в моем приложении Blazor, когда я ссылаюсь на библиотеки .net 5, но все в порядке, если я ссылаюсь на стандартную библиотеку .net 2.1.

Должен ли я понизить версию моих общих библиотек до стандарта .net 2.1?

Я использую: .Net SDK:

3.1.400-preview-015203
5.0.100-preview.7.20366.6

.Net время выполнения:

Microsoft.NETCore.App 3.1.2   
Microsoft.NETCore.App 5.0.0-preview.7.20364.11

Предварительный просмотр VS 2019:

Version 16.7.0 Preview 6.0

person inliner49er    schedule 01.08.2020    source источник
comment
Какая библиотека? В общем, он должен работать.   -  person Henk Holterman    schedule 01.08.2020
comment
Мои собственные библиотеки классов для совместного использования в проектах (общий проект, например, содержащий константы, перечисления и т. Д.).   -  person inliner49er    schedule 01.08.2020


Ответы (1)


У меня есть приложение Blazor wasm (стандарт .net 2.1)

Вы, конечно же, должны обновить его до .net 5 (предварительная версия).

В стандартном шаблоне размещенной веб-сборки общая библиотека классов представляет собой проект net5.0.

См. инструкции по обновлению.

person Henk Holterman    schedule 01.08.2020
comment
У меня установлен предварительный просмотр .net 5, и да, если я выберу опцию размещенного [x] при создании проекта, я получу цель .net 5, но мое приложение Blazor не является размещенным приложением. - person inliner49er; 01.08.2020
comment
Но на какой платформе ваше приложение Blazor? Вы говорите (.net standard 2.1), это версия до net5. Откройте файл csproj. - person Henk Holterman; 01.08.2020
comment
В файле blazor wasm csproj: ‹TargetFramework› netstandard2.1 ‹/TargetFramework›. Даже если я создам новый проект blazor wasm, самая последняя версия фреймворка, которую я могу выбрать в vs, - это .net std 2.1 - если я не выберу опцию хостинга, как мы обсуждали. - person inliner49er; 01.08.2020
comment
Значит, это неправильная конфигурация. Я могу (VS Version 16.7.0 Preview 6.0) выбрать net5 независимо от флажка Hosted. Попробуй обновить или отремонтировать. - person Henk Holterman; 02.08.2020
comment
Странный. Я добавил тег .net 5 вручную, и он был скомпилирован. Затем я создал новый проект blazor wasm с нуля (после того, как проделал это еще 5 раз), и теперь он имеет .net 5 по умолчанию. Так что проблема с VS2019 Preview 7. Спасибо за помощь! - person inliner49er; 03.08.2020