从Jetbrains Rider发布Web项目

Jon*_*eel 25 rider

我试试Rider,到目前为止,非常喜欢它.

我在Visual Studio中使用的一个功能通常是右键单击Web项目并发布到我们的测试服务器.

我在Rider中找不到类似的选项,所以我所做的是创建一个运行配置,使用以下设置:

Exe path: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/MSBuild/15.0/Bin/amd64/msbuild.exe
Arguments: MySolution.sln /m /p:DeployOnBuild=True /p:PublishProfile=My-Project "/p:platform=Any CPU" /p:configuration=Release /p:VisualStudioVersion=15.0 /p:Password=****
Working Directory: C:\SolutionFolder
Run Code Online (Sandbox Code Playgroud)

当我想发布时,我从下拉列表中选择它并单击运行.
这100%工作.

我的问题是,这是最好的方法吗,没有设置CI管道?我错过了IDE中的选项或设置吗?

编辑: UPDATE

Mar*_*vic 11

截至2018年6月,Rider没有用于发布的UI.

有一种功能要求,你可以投票,登录后YouTrack.

作为一种解决方法,可以像您一样创建".NET可执行文件"配置,并在想要发布项目时运行它.

更详细的说明如下:

  1. 运行>编辑配置
  2. 添加新配置> .NET可执行文件
  3. Name = 您的项目名称
  4. Exe path = MSBuild的路径(例如C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/MSBuild/15.0/Bin/amd64/MSBuild.exe)
  5. 程序参数 =YourSolution.sln /t:"Your_Project" /p:PublishProfile=YourPublishProfile.pubxml /p:Configuration=Debug /p:DeployOnBuild=true /m
  6. 工作目录 =C:/path/to/solution/dir/

笔记:

  • 项目发布配置文件通常位于项目文件夹下Properties/PublishProfiles.如果您没有,可以从下面报告的示例开始;
  • 你需要用下划线(_)替换项目名称中的点(.).在上面的例子Your.Project中传递为Your_Project;
  • 如果尚未在发布配置文件中指定,则可以通过添加参数来指定其他发布目录/p:PublishDir="C:/path/to/publish/dir/";
  • 如果您的计算机上没有安装Visual Studio,则可以使用与Visual Studio 2017构建工具捆绑在一起的MSBuild .

发布配置文件的示例:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <publishUrl>..\YourPublishDirectory</publishUrl>
    <DeleteExistingFiles>True</DeleteExistingFiles>
    <ExcludeFilesFromDeployment>bin\*.dll.config</ExcludeFilesFromDeployment>
  </PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)