我创建了一个新的.NET Core 3.1控制台应用程序,并且没有修改代码(因此,这只是一个问候世界的示例)。
我将应用程序发布到具有以下设置的文件夹中:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration>Release</Configuration>
<Platform>Any CPU</Platform>
<PublishDir>bin\Release\netcoreapp3.1\publish\</PublishDir>
<PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>netcoreapp3.1</TargetFramework>
<SelfContained>false</SelfContained>
</PropertyGroup>
</Project>
发布后,它创建了5个文件。两个有趣的:
TestApp.dll
-4608字节TestApp.exe
- 174 592字节 (其他现在不重要了:pdb,deps.json,runtimeconfig.json)
据我了解,DLL文件包含我的所有源代码(我也使用ILSpy对其进行了检查)。但是,为什么exe文件这么大?据我所知,它应该只是一个以DLL文件作为入口点调用框架的包装器。
如何缩小尺寸?
我想制作一个简单的实用程序,但似乎最小大小为200 KB?太荒谬了。