Skip to content

Error with blazor when moving the BIN folder #12580

@mkArtakMSFT

Description

@mkArtakMSFT

From @rpc-scandinavia on Thursday, July 25, 2019 11:00:28 AM

Steps to reproduce

Create new Blazor clientside demo project:

dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.0.0-preview7.19365.7

dotnet new blazor --name "Test Blazor Client"

Use this CSPROJ file:

<Project>
	<PropertyGroup>
		<LangVersion>7.3</LangVersion>
		<RazorLangVersion>3.0</RazorLangVersion>
		<TargetFramework>netstandard2.0</TargetFramework>
		<GenerateBuildRuntimeConfigurationFiles>true</GenerateBuildRuntimeConfigurationFiles>
		<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
		<GenerateDocumentationFile>false</GenerateDocumentationFile>

		<!-- Move the "bin" folder. -->
		<OutDir>../.tmp/$(MSBuildProjectName)/bin</OutDir>
		<OutputPath>$(OutDir)</OutputPath>

		<!-- Move the "obj" folder. -->
		<BaseIntermediateOutputPath>../.tmp/$(MSBuildProjectName)/obj.$(TargetFramework)</BaseIntermediateOutputPath>
	</PropertyGroup>

	<!-- Import SDK properties here, when moving the "obj" folder. -->
	<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk.Web" />

	<ItemGroup>
		<!-- Required. -->
		<PackageReference Include="Microsoft.AspNetCore.Blazor" Version="3.0.0-preview7.19365.7" />
		<PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="3.0.0-preview7.19365.7" PrivateAssets="all" />
		<PackageReference Include="Microsoft.AspNetCore.Blazor.DevServer" Version="3.0.0-preview7.19365.7" PrivateAssets="all" />
	</ItemGroup>

	<!-- Import SDK targets last, when moving the "obj" folder. -->
	<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk.Web" />
</Project>

dotnet build (OK)

dotnet run (EXCEPTION)

Expected behavior

I expect that "dotnet run" works.

Actual behavior

The "dotnet run" gives this exception:

crit: Microsoft.AspNetCore.Hosting.Diagnostics[6]
      Application startup exception
System.InvalidOperationException: Application assembly not found at /data/users/rpc@rpc-scandinavia.dk/Development/Projects3/.tmp/Test Blazor Client/bin/netstandard2.0/Test Blazor Client.dll.
   at Microsoft.AspNetCore.Blazor.DevServer.Server.Startup.ResolveApplicationAssemblyFullPath()
   at Microsoft.AspNetCore.Blazor.DevServer.Server.Startup.Configure(IApplicationBuilder app, IWebHostEnvironment environment, IConfiguration configuration)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.ConfigureBuilder.<>c__DisplayClass4_0.<Build>b__0(IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass13_0.<UseStartup>b__2(IApplicationBuilder app)
   at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
Unhandled exception. System.InvalidOperationException: Application assembly not found at /data/users/rpc@rpc-scandinavia.dk/Development/Projects3/.tmp/Test Blazor Client/bin/netstandard2.0/Test Blazor Client.dll.
   at Microsoft.AspNetCore.Blazor.DevServer.Server.Startup.ResolveApplicationAssemblyFullPath()
   at Microsoft.AspNetCore.Blazor.DevServer.Server.Startup.Configure(IApplicationBuilder app, IWebHostEnvironment environment, IConfiguration configuration)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.ConfigureBuilder.<>c__DisplayClass4_0.<Build>b__0(IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass13_0.<UseStartup>b__2(IApplicationBuilder app)
   at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
   at Microsoft.AspNetCore.Blazor.DevServer.Commands.ServeCommand.Execute()
   at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args)
   at Microsoft.AspNetCore.Blazor.DevServer.Program.Main(String[] args)

It adds a "netstandard2.0" after the "bin" directory, and if I add it in the CSPROJ file, it still adds a extra "netstandard2.0" after the "bin/netstandard2.0" directory:

<OutDir>../.tmp/$(MSBuildProjectName)/bin/$(TargetFramework)</OutDir>

crit: Microsoft.AspNetCore.Hosting.Diagnostics[6]
      Application startup exception
System.InvalidOperationException: Application assembly not found at /data/users/rpc@rpc-scandinavia.dk/Development/Projects3/.tmp/Test Blazor Client/bin/netstandard2.0/netstandard2.0/Test Blazor Client.dll.

Back to the first CSPROJ. When I use the file manager and manually creates the "missing" "netstandard2.0" directory, and copies the content from the "bin" directory into it - then "dotnet run" works.

Environment data

dotnet --info output:

.NET Core SDK (reflecting any global.json):
 Version:   3.0.100-preview7-012821
 Commit:    6348f1068a

Runtime Environment:
 OS Name:     debian
 OS Version:  10
 OS Platform: Linux
 RID:         debian.10-x64
 Base Path:   /usr/share/dotnet/sdk/3.0.100-preview7-012821/

Host (useful for support):
  Version: 3.0.0-preview7-27912-14
  Commit:  4da6ee6450

.NET Core SDKs installed:
  2.2.300 [/usr/share/dotnet/sdk]
  3.0.100-preview6-012264 [/usr/share/dotnet/sdk]
  3.0.100-preview7-012821 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.2.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.2.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0-preview5-19227-01 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0-preview6.19307.2 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0-preview7.19365.7 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.2.3 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.5 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0-preview5-27626-15 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0-preview6-27804-01 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0-preview7-27912-14 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

Copied from original issue: dotnet/cli#11997

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-blazorIncludes: Blazor, Razor Componentsfeature-blazor-wasmThis issue is related to and / or impacts Blazor WebAssemblyinvestigate

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions