我正在使用VS2019 Preview。我使用最新的Blazor扩展(16.0.19227)创建了一个“服务器托管”的Blazor应用程序。这是包含3个独立项目的变体...
我可以通过制作MyApp进行调试。服务器活动项目,一切正常,但我正在努力将此发布/部署到Azure。我尝试了以下方法...
在这一点上,我在部署过程中遇到了错误...
CSC(0,0):错误CS0006:找不到元数据文件'D:\ work \ Applications \ Web \ MyApp.Client \ bin \ Release \ netstandard2.0 \ win-x86 \ MyApp.Client.dll'
这似乎是因为Web部署配置文件中的“目标运行时”设置为win-x86。客户端应用程序实际上是作为
“ D:\ work \ Applications \ Web \ MyApp.Client \ bin \ Release \ netstandard2.0 \ MyApp.Client.dll”
(没有附加的win-x86子文件夹),因此部署过程似乎对构建过程所使用的路径做出了错误的假设。在发布对话框中无法指定空白/无关目标运行时。
是否有解决方法,或者我使用的部署方法错误?
有一些官方文档,但不是很有帮助。
更新似乎部署使用的是Client项目的输出路径,然后仅将netstandard2.0 {Target Runtime}附加到该项目,因此更改Client项目中的输出路径不足以解决此问题。
Update 2通过编辑xml删除发布配置文件中的RuntimeIdentifier标记仅会导致部署时错误,指出空的RuntimeIdentifier与自包含的部署不兼容。不幸的是,自包含部署是必需的,因为Azure尚未直接托管.net core 3。
因为Azure尚未直接托管.net core 3。
但是确实如此。
在Azure门户中,部署后转到您的WebApp(或预先创建一个)。
转到扩展,然后单击添加[ + ],然后选择ASP.NET Core 3(免费托管为x86)。
还要转到“设置”,“常规”并启用WebSocket,默认情况下它们处于关闭状态。
请注意,Preview-6不能作为扩展使用,因此可以使用Preview-5或作为独立的部署。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句