dotnet / sdk

Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI
https://dot.net/core
MIT License
2.66k stars 1.06k forks source link

Worker projects published as a web project #36968

Open MizardX opened 10 months ago

MizardX commented 10 months ago

Describe the bug

When publishing a solution containing a worker project (Sdk="Microsoft.NET.Sdk.Worker") with the flag /p:WebPublishMethod=Package, the worker projects gets packaged as a Web project.

This did not happen in .NET 8.0-rc2 / Visual Studio 2022 17.7.0

To Reproduce

This is reproducible with just a worker project:

dotnet new worker -n PublishWorkerAsWeb
dotnet publish .\PublishWorkerAsWeb\PublishWorkerAsWeb.csproj /p:WebPublishMethod=Package /p:PackageLocation="$PWD\publish"
ls $PWD\publish
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          2023-11-16    17:01           4065 PublishWorkerAsWeb.deploy-readme.txt
-a---          2023-11-16    17:01          14459 PublishWorkerAsWeb.deploy.cmd
-a---          2023-11-16    17:01            330 PublishWorkerAsWeb.Parameters.xml
-a---          2023-11-16    17:01            147 PublishWorkerAsWeb.SetParameters.xml
-a---          2023-11-16    17:01            159 PublishWorkerAsWeb.SourceManifest.xml
-a---          2023-11-16    17:01         769261 PublishWorkerAsWeb.zip

Further technical details

Runtime Environment: OS Name: Windows OS Version: 10.0.22631 OS Platform: Windows RID: win-x64 Base Path: C:\Program Files\dotnet\sdk\8.0.100\

.NET workloads installed: Workload version: 8.0.100-manifests.71b9f198 [wasm-tools-net6] Installation Source: VS 17.9.34310.174 Manifest Version: 8.0.0/8.0.100 Manifest Path: C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.workload.mono.toolchain.net6\8.0.0\WorkloadManifest.json Install Type: Msi

[wasm-tools-net7] Installation Source: VS 17.9.34310.174 Manifest Version: 8.0.0/8.0.100 Manifest Path: C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.workload.mono.toolchain.net7\8.0.0\WorkloadManifest.json Install Type: Msi

[wasm-tools] Installation Source: VS 17.9.34310.174 Manifest Version: 8.0.0/8.0.100 Manifest Path: C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.workload.mono.toolchain.current\8.0.0\WorkloadManifest.json Install Type: Msi

[ios] Installation Source: VS 17.9.34310.174 Manifest Version: 17.0.8478/8.0.100 Manifest Path: C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.ios\17.0.8478\WorkloadManifest.json Install Type: Msi

[android] Installation Source: VS 17.9.34310.174 Manifest Version: 34.0.43/8.0.100 Manifest Path: C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.android\34.0.43\WorkloadManifest.json Install Type: Msi

[maui-windows] Installation Source: VS 17.9.34310.174 Manifest Version: 8.0.3/8.0.100 Manifest Path: C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.maui\8.0.3\WorkloadManifest.json Install Type: Msi

[maccatalyst] Installation Source: VS 17.9.34310.174 Manifest Version: 17.0.8478/8.0.100 Manifest Path: C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.maccatalyst\17.0.8478\WorkloadManifest.json Install Type: Msi

Host: Version: 8.0.0 Architecture: x64 Commit: 5535e31a71

.NET SDKs installed: 8.0.100 [C:\Program Files\dotnet\sdk]

.NET runtimes installed: Microsoft.AspNetCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 6.0.25 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 7.0.14 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 8.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.NETCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 6.0.25 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 7.0.14 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 8.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.WindowsDesktop.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 6.0.25 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 7.0.14 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 8.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found: x86 [C:\Program Files (x86)\dotnet] registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables: Not set

global.json file: Not found

Learn more: https://aka.ms/dotnet/info

Download .NET: https://aka.ms/dotnet/download


- Visual Studio Version 17.9.0 Preview 1.0
- Also tested on VS 17.8.0 RTM
baronfel commented 10 months ago

@vijayrkn This sounds like a side-effect of making the Worker SDK import the publish targets. Is there something we need to set in the Worker SDK to prevent this specific behavior?