.net-core - Visual Studio 和自包含部署

标签 .net-core visual-studio-2017

我正在尝试发布 self containing deployment使用 Visual Studio。我可以通过运行以下命令使用 CLI 轻松实现:

dotnet new mvc --auth None --framework netcoreapp1.1            
dotnet restore --runtime win81-x64      
dotnet build
dotnet publish -c release --runtime win81-x64    

此命令将创建新的 mvc 应用程序,恢复 win81-x64 运行时的所有库并将其发布。因此,部署将包含 .net core 1.1/win81-x64 平台的运行时作为应用程序的一部分。这样我就可以在没有预装 .net core 1.1 的服务器上安装它。

我的问题是如何使用 Visual Studio 2017 发布 UI 实现这一目标?如果我做简单的发布,它将不包含 .net 核心运行时文件。

谢谢!

最佳答案

不幸的是,此功能(在发布期间选择运行时)并没有包含在 VS 2017 RTM 版本中。我们计划在 future 的版本中添加它。

现在,要解决没有该功能的问题,您可以添加 <RuntimeIdentifier>属性到您的 .csproj。

<PropertyGroup>
  <TargetFramework>netcoreapp1.1</TargetFramework>
  <RuntimeIdentifier>win81-x64</RuntimeIdentifier>
</PropertyGroup>

现在,当您发布时,它将为该运行时独立发布。

当您想要在没有 .net 核心运行时文件的情况下发布您的应用程序时,您将需要删除此属性。如果您想为不同的运行时发布,您可以更改该值。

关于.net-core - Visual Studio 和自包含部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42797956/

相关文章:

c# - .NET Core 托管服务和单例服务的区别

asp.net-mvc - 如何设置本地主机测试运行的虚拟目录?

visual-studio - 必须安装WiX Toolset v3.11(或更高版本)构建工具才能构建此项目

macos - Visual Studio Preview for Mac 2017 .NET Core 生成错误

c# - .Net Core 2.1项目,为什么Nuget会还原.Net 4.6.1包?

c# - 如何访问 Lambda 环境变量?

asp.net-mvc - 将 MVC 应用程序发布到 Azure 失败,出现 ERROR_NOT_SUPPORTED 错误

android - 如何移动随 Visual Studio 2017 安装的 Android SDK 文件夹?

visual-studio-2017 - 无法加载文件或程序集 System.Reflection.TypeExtensions

c# - HtmlHelper 的 'ViewContext.Controller' 发生了什么?