VS代码+;开发(Linux)和#x2B;目标(.net框架)和#x2B;主机(Windows)

VS代码+;开发(Linux)和#x2B;目标(.net框架)和#x2B;主机(Windows),linux,asp.net-core,visual-studio-code,web-deployment,asp.net-core-2.0,Linux,Asp.net Core,Visual Studio Code,Web Deployment,Asp.net Core 2.0,我正在用Linux上的Visual Studio代码开发一个带有ASPNET Core 2.0的Web应用程序。但我试图部署应用程序的主机是Windows服务器,唯一可用的目标选项是.Net Framework 4.6 因此,当我尝试运行dotnet publish-o/folder-f net461时,它会显示 是否可以在linux上开发aspnet核心应用程序,并使用.Net Framework将其部署到windows上 以下是错误的文本: /usr/share/dotnet/sdk/2.

我正在用Linux上的Visual Studio代码开发一个带有ASPNET Core 2.0的Web应用程序。但我试图部署应用程序的主机是Windows服务器,唯一可用的目标选项是.Net Framework 4.6

因此,当我尝试运行
dotnet publish-o/folder-f net461
时,它会显示

是否可以在linux上开发aspnet核心应用程序,并使用.Net Framework将其部署到windows上

以下是错误的文本:

/usr/share/dotnet/sdk/2.0.0/Microsoft.Common.CurrentVersion.targets(1122,5):错误MSB3644:找不到framework“.NETFramework,Version=v4.6.1”的引用程序集。要解决此问题,请安装此框架版本的SDK或目标包,或将应用程序重新定位到已安装SDK或目标包的框架版本。请注意,程序集将从全局程序集缓存(GAC)中解析,并将用于替代引用程序集。因此,您的程序集可能没有正确地针对您想要的框架。[/home/maransatto/Projects/FATEC/EraDoConhecimento/web/BDAg.csproj]


有两种方案:带.Net framework的ASP.Net核心和带.Net核心的ASP.Net核心。您无法在linux上使用.net framework开发asp.net核心,因此应用程序的目标可能是“netcoreapp2.0”(如果您下载了最新版本)。只需使用.net core runtime 2.0就可以在windows server上部署应用程序

你的命令应该是

dotnet publish -c Release -f netcoreapp2.0
您可以部署依赖于框架的或自包含的版本。见()

您还需要在集成了IIS的windows上安装Asp.Net核心模块。

发布自包含时,不需要在服务器上安装.net core