Msbuild dotnet core控制台应用程序中不必要的DLL?

Msbuild dotnet core控制台应用程序中不必要的DLL?,msbuild,dependencies,.net-core,console-application,dotnet-sdk,Msbuild,Dependencies,.net Core,Console Application,Dotnet Sdk,我正在尝试构建一个示例dotnetcore2.0console应用程序,它应该作为执行文件发布。这需要我在csproj文件中添加RuntimeIdentifier。在为win-x64发布示例应用程序之后,我得到了一个输出目录,其中包含大约200个DLL和我的可执行文件。我觉得太多了——只需要在控制台上打印一个简单的helloworld 有没有办法减少DLL的数量?在这个名为“手动方法”的旧文件(现在肯定已经过时)中,提出了一种用于图书馆的方法 有没有办法减少dotnetcore2.0中的依赖关系

我正在尝试构建一个示例
dotnetcore2.0
console应用程序,它应该作为执行文件发布。这需要我在
csproj
文件中添加
RuntimeIdentifier
。在为
win-x64
发布示例应用程序之后,我得到了一个输出目录,其中包含大约200个DLL和我的可执行文件。我觉得太多了——只需要在控制台上打印一个简单的
helloworld

有没有办法减少DLL的数量?在这个名为“手动方法”的旧文件(现在肯定已经过时)中,提出了一种用于图书馆的方法

有没有办法减少dotnetcore2.0中的依赖关系?或者这不是一个问题,我不应该在意

为了完整起见,以下是我的示例项目定义:

<Project Sdk="Microsoft.NET.Sdk">
     <PropertyGroup>
       <OutputType>Exe</OutputType>
       <TargetFramework>netcoreapp2.0</TargetFramework>
       <RuntimeIdentifiers>Portable;win-x64</RuntimeIdentifiers>   
     </PropertyGroup>
</Project>

Exe
netcoreapp2.0
便携式;win-x64

所有依赖项在某种程度上都是有用的(每个依赖项中的某些类用于使应用程序工作),因此当你说“不必要”时,你是错的

到目前为止,没有比新发布的IL Linker更好的工具来缩小部署规模


感谢链接器的提示。这似乎是可行的,但输出目录中有更多DLL,链接器甚至都不看。我假设这些是.net核心运行时所需的,与我的应用程序无关。无论如何,我还是希望使用可移植版本,但这不会创建可执行文件,必须使用
dotnet
调用应用程序。我阅读了相应的问题,发现更多的人对部署选项感到困惑。显然,您应该使用
--自包含的
。混乱并不令人惊讶,但应该越来越少,因为文档正在频繁更新以推出新东西。