Я использую VS2019 Preview.
Я создал приложение Blazor на сервере, используя последнее расширение Blazor (16.0.19227). Это вариант, который содержит 3 отдельных проекта ...
- MyApp.Client
- MyApp.Server
- MyApp.Shared
Я могу отладить это, сделав MyApp. Сервер активным проектом, и все работает нормально, но я изо всех сил пытаюсь опубликовать / развернуть это в Azure. Я пробовал следующее ...
- Щелкните правой кнопкой мыши MyApp.Server в Solution-Explorer
- Выберите «Опубликовать»
- Пройдите через мастера, чтобы создать новый профиль публикации
- Измените режим развертывания на «автономный»
- Хит опубликовать
В этот момент я получаю ошибку во время развертывания ...
CSC (0,0): Ошибка CS0006: файл метаданных 'D: \ work \ Applications \ Web \ MyApp.Client \ bin \ Release \ netstandard2.0 \ win-x86 \ MyApp.Client.dll'
не может быть найден
Вероятно, это связано с тем, что "Target Runtime" в профиле веб-развертывания имеет значение win-x86 . Клиентское приложение фактически строится как
"D: \ работа \ Приложения \ Web \ MyApp.Client \ Bin \ Release \ netstandard2.0 \ MyApp.Client.dll"
(без дополнительной подпапки win-x86), поэтому кажется, что процесс развертывания делает неверное предположение о путях, используемых процессом сборки. В диалоговом окне публикации невозможно указать пустое / безразличное целевое время выполнения.
Есть ли обходной путь для этого или, возможно, я использую неправильный подход для развертывания?
Существует некоторая официальная документация , но это не очень полезно.
Обновление Похоже, что при развертывании используется выходной путь проекта клиента, а затем просто добавляется netstandard2.0 {Target Runtime} , поэтому изменяется выходной путь в Клиентского проекта недостаточно для обхода проблемы.
Обновление 2 Удаление тега RuntimeIdentifier в профиле публикации путем редактирования xml просто приводит к ошибке времени развертывания, утверждающей, что пустой RuntimeIdentifier несовместим с автономным развертыванием. К сожалению, автономное развертывание необходимо, поскольку Azure еще не размещает .net core 3 напрямую.