从 .net-core-2.2 升级到 .net-core-3.1 后,我发布的应用程序的输出目录中的 dotnet.exe 是什么?
What is this dotnet.exe in the outputdir of my published application after upgrading from .net-core-2.2 to .net-core-3.1?
我们有一个使用 httpssys 的 .NET Core Web 应用程序。我们正在将它从 .NET Core 2.2 升级到 .NET Core 3.1,我在输出目录中观察到一些奇怪的东西。
.csproj(相关部分)是
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup Label="Globals">
<Platforms>x64</Platforms>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RuntimeIdentifier>win7-x64</RuntimeIdentifier>
<OutputType>Exe</OutputType>
</PropertyGroup>
项目已发布,参数如下:
dotnet publish -c release -o .\pkg .\SomeProject.csproj
在将 TargetFramework 更改为 netcoreapp3.1(它是 netcoreapp2.2)之前,输出文件夹不包含 dotnet.exe
。但是,自升级以来它确实如此。而且看起来有点奇怪,因为 exe 的日期是 15-6-2016,版本号是 1.0.1.4500。
我找不到关于此更改的任何文档。为什么这个可执行文件在我的输出目录中,为什么会发生变化?
我们遇到的问题是由 nuget 包引起的 ChilkatDnCore
。它依赖于 Microsoft.NETCore.App
(>= 1.0.5)。在 .NET Core 2.2 中,此包已升级到 2.2.8(nuget 上的最新版本)。在 .NET Core 3.1 中,不再发布此包。这导致对错误的 .NET Core dll 的依赖,导致旧的 dotnet.exe 被复制到输出文件夹。
我们尝试了两种解决方案(成功):
1. 我们移除了对 ChilkatDnCore
的依赖。 .NET Core 3.1 提供更多证书处理,因此不再需要依赖项。
2. 我们创建了一个不依赖 Microsoft.NETCore.App
的自定义版本的 nuget 包。显然 .NET Core 应用程序不需要它。
我们有一个使用 httpssys 的 .NET Core Web 应用程序。我们正在将它从 .NET Core 2.2 升级到 .NET Core 3.1,我在输出目录中观察到一些奇怪的东西。
.csproj(相关部分)是
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup Label="Globals">
<Platforms>x64</Platforms>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RuntimeIdentifier>win7-x64</RuntimeIdentifier>
<OutputType>Exe</OutputType>
</PropertyGroup>
项目已发布,参数如下:
dotnet publish -c release -o .\pkg .\SomeProject.csproj
在将 TargetFramework 更改为 netcoreapp3.1(它是 netcoreapp2.2)之前,输出文件夹不包含 dotnet.exe
。但是,自升级以来它确实如此。而且看起来有点奇怪,因为 exe 的日期是 15-6-2016,版本号是 1.0.1.4500。
我找不到关于此更改的任何文档。为什么这个可执行文件在我的输出目录中,为什么会发生变化?
我们遇到的问题是由 nuget 包引起的 ChilkatDnCore
。它依赖于 Microsoft.NETCore.App
(>= 1.0.5)。在 .NET Core 2.2 中,此包已升级到 2.2.8(nuget 上的最新版本)。在 .NET Core 3.1 中,不再发布此包。这导致对错误的 .NET Core dll 的依赖,导致旧的 dotnet.exe 被复制到输出文件夹。
我们尝试了两种解决方案(成功):
1. 我们移除了对 ChilkatDnCore
的依赖。 .NET Core 3.1 提供更多证书处理,因此不再需要依赖项。
2. 我们创建了一个不依赖 Microsoft.NETCore.App
的自定义版本的 nuget 包。显然 .NET Core 应用程序不需要它。