加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

c# – ASP.NET核心 – 在Visual Studio 2015中通??过Docker进行

发布时间:2020-12-16 03:49:54 所属栏目:安全 来源:网络整理
导读:我在使用Visual Studio中的Docker运行构建在ASP.NET Core上的应用程序时遇到问题.我的应用程序只使用dnxcore50框架.我的project.json文件是: { "version": "1.0.0-*","compilationOptions": { "emitEntryPoint": true },"dependencies": { "Microsoft.AspNe

我在使用Visual Studio中的Docker运行构建在ASP.NET Core上的应用程序时遇到问题.我的应用程序只使用dnxcore50框架.我的project.json文件是:

{
  "version": "1.0.0-*","compilationOptions": {
    "emitEntryPoint": true
  },"dependencies": {
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final","Microsoft.AspNet.Mvc": "6.0.0-rc1-final","Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final","Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final"
  },"frameworks": {
    "dnxcore50": { }
  },"exclude": [
    "wwwroot","node_modules"
  ],"publishExclude": [
    "**.user","**.vspscc"
  ],"commands": {
    "web": "Microsoft.AspNet.Server.Kestrel"
  }
}

我尝试了以下方法:

>当我的dnvm指向运行时dnx-coreclr-win-x64.1.0.0-rc1-update1时,如下图所示.

enter image description here

我的应用程序成功构建但是,我在docker上运行/调试应用程序时遇到以下错误,我的应用程序卡在“打开站点http://192.168.99.100:5000”

enter image description here

错误详情:
????Current运行时框架与’app’不兼容
????当前运行时目标框架:’DNX,Version = v4.5.1(dnx451)’
????请确保运行时与project.json中指定的框架匹配

>由于上面的错误消息表明框架中存在不匹配,我通过修改默认别名并执行命令dnvm use default -p将默认和活动运行时更改为dnx-coreclr-linux-x64.1.0.0-rc1-update1.然后,我重启我的VS(以确保在VS中可以看到更改).

enter image description here

但是,我的应用程序仍然建立在DNX版本v4.5.1上,如下面的构建日志中所示:

1>  Information: [LoaderContainer]: Load name=Microsoft.Dnx.Tooling
1>  Information: [PathBasedAssemblyLoader]: Loaded name=Microsoft.Dnx.Tooling in 2ms
1>  Information: [Bootstrapper] Runtime Framework: DNX,Version=v4.5.1
1>  Microsoft .NET Development Utility Mono-x64-1.0.0-rc1-16231

因此,应用程序再次无法以与第1点相同的错误运行.

此外,在更改默认运行时dnu还原从命令行停止工作并给出以下错误:

‘dnu’ is not recognized as an internal or external command,operable
program or batch file.

有趣的是,’dnu’restore命令继续在VS中运行(如VS构建日志中所示).

>然后我尝试将dnvm运行时更改为dnx-mono.1.0.0-rc1-update1.但它失败并出现以下错误:

Cannot find dnx-mono.1.0.0-rc1-update1.1.0.0-rc1-update1,do you need
to run ‘dnvm install
default’?
At C:Program FilesMicrosoft DNXDnvmdnvm.ps1:1659 char:9
+ throw “Cannot find $runtimeFullName,do you need to run ‘$Com …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (Cannot find dnx…stall default’?:String) [],Run
timeException
+ FullyQualifiedErrorId : Cannot find dnx-mono.1.0.0-rc1-update1.1.0.0-rc1-update1,do you nee
d to run ‘dnvm install default’?

我需要使用什么运行时从VS运行docker以及如何更改它?请求您的帮助以解决问题.

更新
?我终于能够通过将docker文件第一行更改为FROM microsoft / aspnet来解决此问题:1.0.0-rc1-update1-coreclr FROM microsoft / aspnet:1.0.0-rc1-update1.谢谢@bertt的提示.

最佳答案
你的dockerfile的第一行是什么?
对于CoreClr,应该是’FROM microsoft / aspnet:1.0.0-rc1-update1-coreclr’

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读