无法将 Blazor wasm 发布到 Azure 了。

8
我只是想像之前那样,将我对.Net6 Blazor wasm应用程序的更改发布到Azure以更新它。自昨天以来,这不再起作用。我可以在本地构建和运行它,但当我尝试发布时,会弹出一个窗口告诉我:
“发布遇到错误。构建失败。请检查输出窗口以获取更多详细信息。”
该文件的内容:
16.06.2022 08:20:08 System.AggregateException: 发生了一个或多个错误. --->;Microsoft.WebTools.Shared.Exceptions.WebToolsException:构建失败。请检查输出窗口以获取更多详细信息。 --- 内部异常堆栈跟踪结束 --- --->;(内部异常#0)Microsoft.WebTools.Shared.Exceptions.WebToolsException:构建失败。请检查输出窗口以获取更多详细信息。 <--- Microsoft.WebTools.Shared.Exceptions.WebToolsException:构建失败。请检查输出窗口以获取更多详细信息。
控制台输出:
C:\Program Files\dotnet\sdk\6.0.400-preview.22301.10\Sdks\Microsoft.NET.Sdk.BlazorWebAssembly\targets\Microsoft.NET.Sdk.BlazorWebAssembly.6_0.targets(614,5): 错误 MSB6006:“dotnet.exe”已退出,并返回代码 1。
尝试获取我几天前成功发布的代码的旧版本。仍无法工作。我的同事仍然可以发布相同的代码。
但我可以发布我的API后端...所以这个错误似乎与Blazor wasm有关。
尝试使用VS 2022的最新版本,并尝试了预览版-没有运气。
我还进行了一次.Net 6 SDK的修复安装。
编辑:我尝试将我的项目发布到文件夹中,并收到相同的错误。因此与Azure无关。然后我创建了一个新的空白Blazor应用程序...我可以将其发布到文件夹中而没有错误。因此,我的项目出现了某些问题...但即使是旧代码也无法发布。这太奇怪了...

你指的是哪个文档? - Neralem
请参考.NET Hot Reload更新 - 图片 - Harshitha Veeramalla
你为什么使用6.0.400-preview版本? 你的同事使用哪个版本? - H H
1
当我使用全新的VS 2022时,我遇到了这个问题。我没有找到解决方法。这促使我放弃了VS发布功能并使用CI/CD解决方案。我知道这不是你问题的答案,但我强烈推荐这样做。 - Alamakanambra
1
这与本问题远离主题。例如,这个链接可能会帮助您:https://blazorhelpwebsite.com/ViewBlogPost/9,但有很多情况需要考虑。如果您需要任何帮助,请联系我。 - Alamakanambra
显示剩余6条评论
5个回答

8

我也遇到了同样的问题。在最新的VS更新后,发布功能停止工作。 删除路径中的空格解决了这个问题。


2
删除路径中的空格也解决了我的问题。 - Daniel
要明确一点,我必须删除解决方案路径中所有空格,包括父目录。如果有人还记得的话,这是VS 2015和Lightswitch项目中常见的问题 ;) - Chris Schaller
删除空格并删除“bin”和“obj”目录也为我解决了这个问题。 - PGallagher
我曾经遇到过路径中没有空格的情况。 - Mike

4

@XSharp是正确的。 我们昨天也遇到了同样的问题。 我们使用的是'DotNet'的版本号为'6.0.x',似乎开始使用了版本号为“6.0.301”的版本,导致出现了这个问题。强制使用先前的版本“6.0.106”即可解决。

只需在YAML文件中你的任务的顶部添加以下内容即可。

- task: UseDotNet@2
  inputs:
     packageType: 'sdk'
     version: '6.0.106'

看起来有人报告了这个问题,当您在项目路径中有一个空格时:https://github.com/dotnet/core/issues/7548


2
天啊...路径里居然有一个空格...删掉后就好了。因为这个问题浪费了一整天的时间。我还是不知道为什么它突然停止工作了。正如GitHub上某个人所说,这个问题在17.2.3中已经存在了,而我用了...一个星期左右。以后我会三思而后行,在第一天更新VS之前...非常感谢你的帮助! - Neralem
1
我也遇到了同样的问题,有一些文件名中带有空格,以及一个未使用的NuGet包生成的文件名中也带有空格。仅凭错误消息本身是不可能找到原因的,必须显式地检查所有生成的文件是否在构建输出中包含空格... - Jason Rebelo Neves

2

我一直遇到“Microsoft.NET.Sdk.Blazor WebAssembly.6_0.targets(614,5): error MSB6006”错误。 我确认了一下,一旦在构建环境中将空格(我的目录到mydirectory)删除,blazor的构建就成功了。


1

我遇到了这个问题已经有一年多了。有时候似乎是由于Visual Studio更新,有时候是由于依赖项(nuget)更新,但有时候似乎是自发的;我似乎无法找出真正的原因。这次我尝试从路径中删除空格,但没有起作用。

在执行以下步骤后,我成功地将其发布:(1)从路径中删除空格,(2)删除发布配置文件,(3)从解决方案目录中删除隐藏的“.vs”文件夹,(4)在VS中运行“清理解决方案”,(5)从解决方案树中删除所有“bin”和“obj”文件夹,(6)重新导入发布配置文件,构建并发布。我希望我知道哪些步骤真正影响了这个问题,或者更好的是,我希望微软能够修复这个bug。


仍在发生-肯定与Visual Studio更新或NuGet更新有关。下次我会单独执行它们,以进一步确定是哪个。我的项目路径中没有空格。 - Mike

0
在我的情况下,通过更改管道的YAML中的SDK,我们解决了这个问题。
在UseDotNet@2任务中:
更改:version: '6.0.x' 为:version: '6.0.106'
之前它是可以工作的,所以似乎主机上有些东西已经改变了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接