我正在寻找一种方法来生成一个自包含的EXE,它将启动ASP.NET Core(.NET Core) . 该项目将简单地提供来自/ wwwroot的一些静态文件 .
我找到了一个few resources,它展示了如何将控制台应用程序变成一个自包含的EXE . 这些资源涉及修改似乎不存在的project.json(至少在初始模板上) .
我没有看到任何允许我使用ASP.NET Core应用程序执行此操作的内容,这是可能的还是我错过了什么?
是的 .
但是,如果在项目的文件夹中找不到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文件 .
请注意,如果您从此文件夹运行此可执行文件,则可执行文件将找不到您的模型,视图和控制器,并且您的页面将为空白 .
1 回答
是的 .
但是,如果在项目的文件夹中找不到project.json文件,则在设置时出错了 .
为项目创建新文件夹后,导航到控制台中的该文件夹,并使用以下命令创建新的Web项目:
此时应创建project.json文件以及所有Web模板文件 .
打开project.json文件并删除(或注释掉)该行
您还应该在“dependencies”块之后添加以下值
请注意,应更改"win10-x64"以匹配运行服务器的计算机的体系结构 . 有关.net核心支持的运行时ID(RID)的完整列表,请访问https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
将更改保存到project.json文件并运行restore命令:
然后 Build
你可以在bin / Debug / netcoreapp [version] / [RID]中找到* .exe文件 .
请注意,如果您从此文件夹运行此可执行文件,则可执行文件将找不到您的模型,视图和控制器,并且您的页面将为空白 .