如何在Windows机器上编译用于Linux的.NET Core应用程序

我正在Windows 10计算机上开发.NET Core应用程序(使用Visual Studio 2015更新3 + Microsoft .NET Core 1.0.1 VS 2015 Tooling Preview 2),该应用程序应在Ubuntu 16机器上发布。 要做到这一点,我必须将我的源代码移到最终机器并在那里编译,让它运行。 例如,我无法在Windows上编译代码并在Linux上运行它。 问:有什么办法可以在win机器上编译代码并在linux上运行它?

使用dotnet构建命令,你可以指定--runtime标志

-r | –runtime <RUNTIME_IDENTIFIER>

要为其构建的目标运行时。 有关可以使用的运行时标识符(RID)的列表,请参阅RID目录 。

代表具体操作系统的RID通常遵循这种模式[os].[version]-[arch]

例如,为Ubuntu 16.04运行时建立一个项目及其依赖关系:

 dotnet build --runtime ubuntu.16.04-x64