了解.Net内核和Mono 在.Net Core中开发应用程序时,.Net依赖项和DLL是否嵌入到应用程序中?这是否意味着我不需要在客户端PC上安装.Net依赖项 如果我为Linux开发一个.Net Core控制台应用程序,是否需要在装有Linux(客户端)的PC上安装Mono .Net核心应用程序是否与Android兼容
关于你的问题: 否依赖项未嵌入到应用程序中(在.NET中没有静态链接)。了解.Net内核和Mono 在.Net Core中开发应用程序时,.Net依赖项和DLL是否嵌入到应用程序中?这是否意味着我不需要在客户端PC上安装.Net依赖项 如果我为Linux开发一个.Net Core控制台应用程序,是否需要在装有Linux(客户端)的PC上安装Mono .Net核心应用程序是否与Android兼容,.net,linux,.net-core,.net,Linux,.net Core,关于你的问题: 否依赖项未嵌入到应用程序中(在.NET中没有静态链接)。 是的,当您发布(自包含)时,依赖项将作为单独的文件添加。 如果您的应用程序是.NET核心应用程序,则不需要安装.NET核心框架。您也不需要单声道。 您可以为每个平台执行自包含部署: Windows-x86-32: dotnet restore -r win-x86 dotnet build -r win-x86 dotnet publish -f netcoreapp2.0 -c Release -r win-x86 W
是的,当您发布(自包含)时,依赖项将作为单独的文件添加。
如果您的应用程序是.NET核心应用程序,则不需要安装.NET核心框架。您也不需要单声道。
您可以为每个平台执行自包含部署: Windows-x86-32:
dotnet restore -r win-x86
dotnet build -r win-x86
dotnet publish -f netcoreapp2.0 -c Release -r win-x86
Windows-x86-64:
dotnet restore -r win-x64
dotnet build -r win-x64
dotnet publish -f netcoreapp2.0 -c Release -r win-x64
Linux-x86-32:不受.NET内核支持
Linux-x86-64:
dotnet restore -r linux-x64
dotnet build -r linux-x64
dotnet publish -f netcoreapp2.0 -c Release -r linux-x64
Linux ARM(Android/ChromeOS)
Linux-arm-64:不受.NET内核支持
这将添加所有依赖项,包括.NET核心运行库。
如果使用的DLL引用本机DLL(作为嵌入式资源提供),但未提供必要的C运行时库(例如,当本机DLL/.so动态链接时,例如在SkiaSharep中),则仍然可能遇到问题
另外,.NET Core可以与共享框架一起运行,这意味着部署规模更小,但必须安装共享框架版本,然后才能运行
请参见Mono和.NET Core是两种独立的技术 Mono由Miguel de Icaza创建,最初设计为Linux和MacOS的.NET Framework版本。因此,它有许多与.NET Framework相同的API .NET核心是.NET标准的跨平台实现。因此,它只能访问中概述的API 使用.NET Core构建的应用程序需要在目标计算机上安装.NET Core运行时才能运行它们(取决于您是执行自包含部署还是依赖于框架的部署)。.NET核心运行时和SDK可通过标题获取 同样,使用Mono构建的应用程序需要在目标机器上安装Mono运行时
正如李乐西所指出的,为了了解更多关于不同部署选项的信息,我想看一看。从自包含部署部分开始应该会给你答案。在GitHub上有一个针对Android的.NET Core的实验性构建,但由于Miguel de Icaza的团队在Xamarin上所做的工作,我们很快可能不需要它。目标是什么Mono和.NET内核的相似性/相同性?只是为了实现跨平台的.NET吗?@BlueMonkMN:不是。mono和.NETCore不提供相同的功能。Mono为完整的.NET框架提供了一个实现。NET核心仅提供.NET的“核心”版本。如果需要推荐,请使用.NET-Core。但目标类似,请提供.NET的跨平台实现。区别只是.NET Core是一个核心子集,而Mono是另一个供应商的完整实现?如果它有助于@BlueMonkMN,Mono早在2004年就开始了,而.NET Core是在过去几年开始的(Satya Nadella早在2014年就宣布了)。Muno从未如此伟大,因为它最初是使用.NET Framework提供的文档创建的,而.NET核心开发是由.NET基金会(包括微软、谷歌和三星等)完全开放的源代码完成的。
dotnet restore -r linux-arm
dotnet build -r linux-arm
dotnet publish -f netcoreapp2.0 -c Release -r linux-arm