C# 如何在远程主机上使用dotnet publish执行依赖于框架的部署
我们正在进行一个持续的构建,并试图将dotnet核心应用程序发布为windows服务。我们可以通过以下发布配置文件使用VisualStudio完成此操作C# 如何在远程主机上使用dotnet publish执行依赖于框架的部署,c#,asp.net-core,msbuild,.net-core,C#,Asp.net Core,Msbuild,.net Core,我们正在进行一个持续的构建,并试图将dotnet核心应用程序发布为windows服务。我们可以通过以下发布配置文件使用VisualStudio完成此操作 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <WebPublishMethod>FileSystem</WebPublishM
<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>
问题是,既然我遇到了上面指定的问题,我如何使用发布配置文件模拟NetCore应用程序的VS2017发布
目标输出将是发布不带aspnetcore DLL但带有远程主机可执行文件的net core应用程序。发布配置文件将与生成一起使用,方法是
-p:DeployOnBuild=true -p:PublishProfile=<ProfileName>
发出一个.exe文件,您可以将其用作windows服务,而不是
path\to\dotnet.exe path\to\app.dll
,该文件仍将使用计算机范围的.NET核心安装。这可能会也可能不会成为3.0中默认输出的一部分。…问题是…?更新了标题和说明。谢谢。谢谢你,马丁,这是非常详细的,很容易理解和遵循。但是,当我设置指向发布生成的exe的服务时,该服务不会启动,也不会在事件查看器或自定义日志中写入任何日志。是否有关于可以传递到dotnet publish/build的属性的文档?我似乎没有看到一个完整的列表。我用-DeployOnBuild尝试了您的第一个建议,它运行得非常好。非常感谢。
-p:DeployOnBuild=true -p:PublishProfile=<ProfileName>
dotnet publish -r win-x64 --self-contained false -p:UseAppHost=true