2016-08-05 251 views
3

我创建了一个.net核心控制台应用程序。我想构建应用程序,以便我可以在windows或mac上执行它,而不在计算机上安装dotnet核心。所以我需要为Windows一个EXE。在Mac或Windows上运行.NET Core控制台应用程序

我读了https://docs.microsoft.com/de-de/dotnet/articles/core/tools/dotnet-publish,我知道如何为不同的plattform编译应用程序。

但是没有可执行文件被创建。我在这里想念什么以及如何实现我的目标?

回答

1

你需要的是创建一个self-contained application。链接解释了如何修改你的project.json来做到这一点。

另请注意,虽然自包含应用程序不具有对.Net Core的依赖关系,但它可能具有其他依赖关系。特别是在OSX上,我相信你需要从homebrew安装特定版本的openssl。

+0

谢谢!我能够编译我的项目并执行它。有什么办法可以删除我不需要的dll吗?例如有一个Microsoft.CodeAnalysis.VisualBasic.dll。我想有一个更小的版本。发布后,我得到一个46 MB文件夹为我的小应用程序:) – dknaack

+0

@dknaack [即将到来的.Net核心版本应自动处理。](https://blogs.msdn.microsoft.com/dotnet/2016/07/ 15/net-core-roadmap /)现在,您可以用“实际所需的依赖关系替换”Microsoft.NETCore.App“的依赖关系。例如,对于一个简单的Hello World应用程序,必要的依赖关系似乎是“Microsoft.NETCore.Runtime.CoreCLR”:“1.0.3”, “Microsoft.NETCore.DotNetHostPolicy”:“1.0.1”, “ System.Console“:”4.0.0“'。 – svick

+0

太棒了!随着你的建议和http://packagesearch.azurewebsites.net/我能够存档我的目标,并减少一半的大小。 – dknaack

相关问题