25

我正在尝试 Rider,到目前为止,非常喜欢它。

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

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

  • exe路径:C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/MSBuild/15.0/Bin/amd64/msbuild.exe
  • 参数: MySolution.sln /m /p:DeployOnBuild=True /p:PublishProfile=My-Project "/p:platform=Any CPU" /p:configuration=Release /p:VisualStudioVersion=15.0 /p:Password=*** *
  • 工作目录:C:\SolutionFolder

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

我的问题是,如果不设置 CI 管道,这是最好的方法吗?我是否缺少 IDE 中的选项或设置?

设置

4

2 回答 2

15

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

登录 YouTrack 后,您可以为功能请求投票。

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

更详细的说明如下:

  1. 运行 > 编辑配置
  2. 添加新配置 > .NET 可执行文件
  3. 名称=您的项目名称
  4. exe 路径=到您的 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>
于 2018-07-11T09:18:23.573 回答
1

最新版本的 Rider 支持通过 UI 发布。如果您的计算机上未安装 Visual Studio,请确保 Web 项目已Build.Microsoft.VisualStudio.Web.targets安装 nuget 包。

于 2020-12-16T10:38:46.203 回答