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