【问题标题】:VS Code + Develop(Linux) + Target(.net Framework) + Host(Windows)VS Code + Develop(Linux) + Target(.net Framework) + Host(Windows)
【发布时间】:2018-04-06 16:31:51
【问题描述】:

我正在 Linux 上的 Visual Studio Code 上使用 ASPNET Core 2.0 开发 Web 应用程序。但我尝试部署应用程序的主机是 Windows Server,唯一可用的目标选项是 .Net Framework 4.6。

所以,当我尝试运行 dotnet publish -o /folder -f net461 时,它会显示我 this error.

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

以下是错误的文本:

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

【问题讨论】:

    标签: linux asp.net-core visual-studio-code web-deployment asp.net-core-2.0


    【解决方案1】:

    有 2 种场景:带有 .Net 框架的 ASP.Net Core 和带有 .Net Core 的 ASP.Net Core。您无法在 linux 上使用 .net 框架开发 asp.net 核心,因此您的应用程序的目标可能是“netcoreapp2.0”(假设您下载了最新版本)。只需使用 .net core runtime 2.0 在 Windows 服务器上部署应用程序即可。

    你的命令应该是

    dotnet publish -c Release -f netcoreapp2.0
    

    您可以部署依赖框架或自包含版本。请参阅 (https://docs.microsoft.com/en-us/dotnet/core/deploying/index)。

    您还需要在带有 IIS 集成的 Windows 上使用 Asp.Net Core 模块。 https://docs.microsoft.com/en-us/aspnet/core/publishing/iis?tabs=aspnetcore2x

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-26
      • 2021-12-25
      • 1970-01-01
      • 2020-12-11
      • 2013-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多