使用 vars 为每个用户设置 Visual Studio 2017 的输出构建路径

Set output build path for Visual Studio 2017 per user with vars

我正在尝试更改每个用户构建的输出路径。我想将输出重定向到 Ram 磁盘。经过多次尝试,我完成了类似的事情:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <OutputPath>R:\VisualStudioBuilds\MyProjectName\bin$(Configuration)\</OutputPath>
  </PropertyGroup>
</Project>

但是项目名称是硬编码的!为了改变这种情况,我尝试了另一种解决方案:

<OutputPath>R:\VisualStudioBuilds$(ProjectName)\bin$(Configuration)\</OutputPath>

这是行不通的。最后构建路径是R:\VisualStudioBuilds\bin\Debug。我也尝试了其他变量,如 ProjectDirRootNameSpace 等,但仍然没有成功。

我应该怎么做才能让它发挥作用?请记住,任何修改都应该在 .csproj.user 中,而不是团队共享的 .csproj.

默认输出目录为:

$(SolutionDir)$(Configuration)\

所以默认情况下,输出二进制文件将创建于:

Path\To\Your\Solution\[Configuration]\.

配置可以类似于 "Debug" 或 "Release"。

根据您的项目设置,这些目录可能会有所不同。您可以 see/change 中的那些设置:

Menu Project -> Properties -> Configuration Properties -> General -> Output Directory

What should I do to make it work? Remember, any modification should be in .csproj.user not to team-shared .csproj.

很抱歉这么晚才回复,但希望这能给你一些帮助。

要完成这个问题,您可以使用属性$(AssemblyName)代替$(ProjectName),所以.csproj.user中的设置] 看起来像:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <OutputPath>R:\VisualStudioBuilds$(AssemblyName)\bin$(Configuration)\</OutputPath>
  </PropertyGroup>
</Project>

这应该适合你。

希望这对您有所帮助。