首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从.net- dotnet.exe -2.2升级到.net-core-3.1后,我发布的应用程序的输出目录中的核心是什么?

从.net- dotnet.exe -2.2升级到.net-core-3.1后,我发布的应用程序的输出目录中的核心是什么?
EN

Stack Overflow用户
提问于 2019-12-13 03:38:18
回答 1查看 70关注 0票数 2

我们有一个使用httpsys的.NET核心web应用程序。我们正在将它从.NET Core2.2升级到.NET Core3.1,我在输出目录中发现了一些奇怪的东西。

.csproj (相关部分)是

代码语言:javascript
复制
<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的日期是2016年15月6日,版本号是1.0.1.4500。

我找不到有关此更改的任何文档。为什么这个可执行文件会出现在我的outputdir中,为什么会发生变化?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-27 16:15:47

我们遇到的问题是由nuget包ChilkatDnCore引起的。它依赖于Microsoft.NETCore.App (>= 1.0.5)。在nuget Core2.2中,这个包升级到了2.2.8 ( .NET上的最新版本)。在.NET Core3.1中,这个包不再发布。这会导致对错误的.NET核心dotnet.exe的依赖,从而导致较旧的dll被复制到输出文件夹。

我们尝试了两种解决方案(成功):1.我们消除了对ChilkatDnCore的依赖。.NET核心3.1提供了更多的证书处理,因此不再需要依赖项。2.我们创建了一个自定义版本的nuget包,没有对Microsoft.NETCore.App的依赖。显然,.NET核心应用程序不需要它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59311640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档