首页 文章

是否可以编译自包含的ASP.NET核心Web应用程序

提问于
浏览
2

我正在寻找一种方法来生成一个自包含的EXE,它将启动ASP.NET Core(.NET Core) . 该项目将简单地提供来自/ wwwroot的一些静态文件 .

我找到了一个few resources,它展示了如何将控制台应用程序变成一个自包含的EXE . 这些资源涉及修改似乎不存在的project.json(至少在初始模板上) .

我没有看到任何允许我使用ASP.NET Core应用程序执行此操作的内容,这是可能的还是我错过了什么?

1 回答

  • 2

    是的 .

    但是,如果在项目的文件夹中找不到project.json文件,则在设置时出错了 .

    为项目创建新文件夹后,导航到控制台中的该文件夹,并使用以下命令创建新的Web项目:

    dotnet new -t web
    

    此时应创建project.json文件以及所有Web模板文件 .

    打开project.json文件并删除(或注释掉)该行

    "type": "platform"
    

    您还应该在“dependencies”块之后添加以下值

    "runtimes": { 
        "win10-x64": {}
    },
    

    请注意,应更改"win10-x64"以匹配运行服务器的计算机的体系结构 . 有关.net核心支持的运行时ID(RID)的完整列表,请访问https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog

    将更改保存到project.json文件并运行restore命令:

    dotnet restore
    

    然后 Build

    dotnet build
    

    你可以在bin / Debug / netcoreapp [version] / [RID]中找到* .exe文件 .

    请注意,如果您从此文件夹运行此可执行文件,则可执行文件将找不到您的模型,视图和控制器,并且您的页面将为空白 .

相关问题