2017-01-25 24 views
2

我正在寻找一种方式来产生一个独立的EXE将启动ASP.NET核心(核心.NET)。该项目将简单地提供来自/ wwwroot的一些静态文件。是否有可能编译自包含ASP.NET核心Web应用程序

我发现了一个fewresources,它显示了如何使控制台应用程序进入自包含的EXE。这些资源涉及修改似乎不存在的project.json(至少在初始模板上)。

我还没有看到任何可以让我用ASP.NET核心应用做到这一点,这是可能的还是我失去了一些东西?

回答

2

是的。

但是,如果你不能找到你的项目的文件夹中的文件project.json,你设置它的时候做错了什么事。

您为项目创建一个新的文件夹后,导航到控制台,文件夹,并创建与此命令一个新的Web项目:

dotnet new -t web 

的project.json文件,所有的网页沿模板文件,现在应该创建。

打开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 /调试/ netcoreapp [版本]内* .exe文件/ [RID]。

请注意,如果你从这个文件夹中运行这个可执行文件,您的模型,视图和控制器将不会被可执行发现你的页面是空白。

+0

我似乎一直在使用的dotnet核心的旧版本(卸载和安装最新版本的dotnet +新-t网络允许的project.json露面)。 Visual Studio 2017 RC仍然使项目没有project.json,并且没有将csproj文件添加到我们现有的解决方案中。 – Matt

+0

使用dotnet在dotnet核心的预览版3上迁移以上修正https://github.com/dotnet/core/blob/master/release-notes/preview3-download.md。致力于确认独立现在。 – Matt

+0

它出现预览3的dotnet新-t Web不会生成project.json文件(如VS2017RC)。有没有一种通过csproj/xml生成EXE的替代方法? – Matt

相关问题