小编Kai*_*r69的帖子

如何使用远程主机的 dotnet 发布执行依赖于框架的部署

我们正在进行持续构建,并尝试将 dotnet 核心应用程序发布为 Windows 服务。我们可以使用具有以下发布配置文件的 Visual Studio 执行此操作

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <PublishProvider>FileSystem</PublishProvider>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
    <ProjectGuid>d655df5a-9266-470d-becd-6d62c919e961</ProjectGuid>
    <SelfContained>false</SelfContained>
    <_IsPortable>true</_IsPortable>
    <publishUrl>C:\publish\webapi</publishUrl>
    <DeleteExistingFiles>True</DeleteExistingFiles>
  </PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

起初我们尝试了阻力最小的路径并尝试调用 dotnet publish project /p:PublishProfile=<FolderProfileName>

此命令忽略了发布配置文件设置,因此我们退回到手动设置属性。然而,这只会构建一个带有 exe 但所有网络核心 dll 的自包含应用程序或仅包含 dll 的框架相关应用程序

命令已执行

dotnet publish Project.csproj -c "Release" -o "C:\Publish\App" -r "win-x64" --self-contained false
Run Code Online (Sandbox Code Playgroud)

问题是我如何使用发布配置文件模拟 VS2017 发布网络核心应用程序,因为我遇到了上面指定的问题。

目标输出将是发布没有 aspnetcore dll 但具有远程主机可执行文件的网络核心应用程序。

c# msbuild .net-core asp.net-core

3
推荐指数
1
解决办法
3205
查看次数

标签 统计

.net-core ×1

asp.net-core ×1

c# ×1

msbuild ×1