相关疑难解决方法(0)

是否可以发布ASP.NET 5应用程序,以便目标计算机不需要安装DNX?

来自维基的主要"aspnet"GitHub回购:

" DNX是一个SDK,包含构建和运行应用程序所需的所有位,包括Core CLR中的CLR.它可以与您的应用程序一起进行bin部署...... ".

我对这实际意味着什么有点困惑.基于此描述以及我在Microsoft公告和博客文章中看到的其他评论,您似乎可以使用ASP.NET 5应用程序并创建一个没有外部依赖关系的自包含bundle.该捆绑包将包含您的代码,DNX运行程序,~11兆字节的CoreCLR以及您可能使用的任何其他NuGet依赖项."运行应用程序所需的所有位",准备放到干净的平板目标机器上.

但是,当我使用时dnu publish,这不是发生的事情.生成的包包含我的代码,以及我实际使用的标准库部分的DLL.然而,它并没有拉动整个CoreCLR ......而且肯定不会引入DNX.runproject.json文件中的命令变成了一个如下所示的run.cmd批处理文件:

@"dnx.exe" --appbase "%~dp0approot\src\ConsoleApplication" Microsoft.Framework.ApplicationHost run %*
Run Code Online (Sandbox Code Playgroud)

...建议DNX预计已经安装在目标系统上,在此捆绑之外.

我错过了一些基本的东西吗?如果您需要在目标系统上安装DNX,那么我不确定这种方法有什么优势.是否可以采取额外步骤,发布具有DNX和CoreCLR完全烘焙和自包含的捆绑包?

我看到它dnu publish有一个可选--native参数,但我不确定这是否相关.该参数希望您指定运行时.当我使用"clr"时,我收到错误消息" Native image generation is only supported for .NET Core flavors".当我使用"coreclr"时,我得到了这个丑陋的堆栈跟踪:

C:\Users\Steve\Desktop\ConsoleApplication>dnu publish --native --runtime active
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Framework.Project, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: 'Microsoft.Framework.Project, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' ---> …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net asp.net-core

30
推荐指数
1
解决办法
2937
查看次数

标签 统计

.net ×1

asp.net ×1

asp.net-core ×1

c# ×1