【问题标题】:Creating new blazor application throws an error when run创建新的 blazor 应用程序在运行时会引发错误
【发布时间】:2019-05-06 22:15:06
【问题描述】:

我关注Get started with Blazor。我已经创建了应用程序并尝试按原样运行它,我没有做任何更改。

我的事件日志中有三件事。

  • 为缓存压缩内容指定的目录 C:\inetpub\temp\IIS Temporary Compressed Files\Clr4IntegratedAppPool 无效。静态压缩正在被禁用。
  • 物理根目录为“C:\Users\LindaL\source\repos\Daimto.RazorTest.Tools\WebApplication1\”的应用程序“MACHINE/WEBROOT/APPHOST/WEBAPPLICATION1”无法使用命令行“c:\program files ( x86)\microsoft visual studio\2017\professional\common7\ide\extensions\microsoft\web tools\projectsystem\VSIISExeLauncher.exe -argFile "C:\Users\LindaL\AppData\Local\Temp\tmpF272.tmp"',错误代码='0x80004005':0。
  • 物理根目录为“C:\Users\LindaL\source\repos\Daimto.RazorTest.Tools\WebApplication1\”的应用程序“MACHINE/WEBROOT/APPHOST/WEBAPPLICATION1”无法使用命令行“c:\program files ( x86)\microsoft visual studio\2017\professional\common7\ide\extensions\microsoft\web tools\projectsystem\VSIISExeLauncher.exe -argFile "C:\Users\LindaL\AppData\Local\Temp\tmpF272.tmp"',错误代码='0x80004005':0。

请注意,我刚刚更新到 Visual Studio Professional 2017 15.9.3。在此之前我使用过 blazor。

更新:这仅出现在“Blazor”项目类型中。

更新 2: 按 Cntrl-F5 而不是 F5 - 没有变化。

Update3每个请求的项目文件在下面的答案中的评论中

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <RunCommand>dotnet</RunCommand>
    <RunArguments>blazor serve</RunArguments>
    <LangVersion>7.3</LangVersion>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Blazor.Browser" Version="0.6.0" />
    <PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="0.6.0" PrivateAssets="all" />

    <DotNetCliToolReference Include="Microsoft.AspNetCore.Blazor.Cli" Version="0.6.0" />
  </ItemGroup>

</Project>

【问题讨论】:

  • 没有改变按 Cntrl-F5 而不是 F5
  • 如果您之前安装过 Blazor 语言服务扩展,您是否更新过?
  • @CodeCaster 是的,文档是这样说的,但除了在没有(显式)重新编译的情况下重新加载之外,使用 F5 时 do 工作。这就是为什么当我很好奇为什么重新加载不起作用(并且只是重新加载)时,我惊讶地发现了那个指导。也就是说,使用调试器运行没有优势,但根据我的经验,基本上一切正常。
  • @Wanton 我已经使用 Blazor 两三周了,现在我按照blazor.net/docs/get-started.html 安装了它,是的,当时安装了语言服务扩展。我不确定如何确定它们是否是更新并安装它们。我应该假设 VS 会选择 Blazor 的新版本吗?

标签: c# visual-studio blazor


【解决方案1】:

删除 global.json 看看是否有帮助。

https://github.com/aspnet/Blazor/issues/1342

如果这没有帮助,请尝试添加带有内容的 global.json

{
  "sdk": {
    "version": "2.1.500"
  }
}

如果全部失败,请关闭所有 Visual Studio 实例并使用 dotnet new -i Microsoft.AspNetCore.Blazor.Templates 重新安装 Blazor 模板,并使用 dotnet new 创建新的 Blazor 解决方案并使用所需的 Blazor 模板。

【讨论】:

  • 项目文件夹中没有global.json文件。
  • 添加 global.json 使它停止崩溃,但我得到 500 这个页面不工作。 (检查我安装了 2.1.500 sdk)
  • 您的 .csproj 中是否有带有预览的 PackageReference?喜欢Version="2.1.0-preview2-final"。如果您尝试将它们更改为 Version="2.1.0" 并确保您的 blazor 包引用为 0.7.0
  • 您仍然需要使用dotnet new -i Microsoft.AspNetCore.Blazor.Templates 更新您的模板。如果您刚刚创建了 Blazor 解决方案,那么您显然拥有旧模板,因为您的 Blazor 版本是 0.6.0。请记住在重新安装 Blazor 模板之前关闭所有 Visual Studio 实例。
  • Blazor 是一个 nuget 包。您的 csproj 指向旧的 0.6.0 nuget。它应该是 0.7.0。通过使用dotnet new -i Microsoft.AspNetCore.Blazor.Templates 更新模板,这些更新的模板具有正确的 0.7.0 nuget 包引用。此外,这些模板设计用于 0.7.0。 0.6.0 和 0.7.0 之间可能存在重大更改。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-09
  • 1970-01-01
  • 2021-08-29
  • 2017-08-16
  • 2020-02-06
  • 1970-01-01
  • 2018-03-23
相关资源
最近更新 更多