.net 基于每个用户设置输出路径

.net 基于每个用户设置输出路径,.net,wpf,visual-studio-2012,.net,Wpf,Visual Studio 2012,我想将VS2012中.NET解决方案中所有二进制文件的输出路径设置为每个用户的另一个位置 我发现我可以手动修改.csproj.user文件,使其包含一行 <OutputPath>C:\exe\MyApp\Debugx86</OutputPath> C:\exe\MyApp\Debugx86 这会将主应用程序的输出重定向到新的输出文件夹。但一旦我这么做了,就有两个问题: Clean solution不再删除输出文件 我无法启动调试器,因为它希望exe位于旧位置 因此,我

我想将VS2012中.NET解决方案中所有二进制文件的输出路径设置为每个用户的另一个位置

我发现我可以手动修改.csproj.user文件,使其包含一行

<OutputPath>C:\exe\MyApp\Debugx86</OutputPath>
C:\exe\MyApp\Debugx86
这会将主应用程序的输出重定向到新的输出文件夹。但一旦我这么做了,就有两个问题:

  • Clean solution不再删除输出文件
  • 我无法启动调试器,因为它希望exe位于旧位置

  • 因此,我的问题是:是否可以根据编译解决方案的用户偏好,告诉VS2012将二进制文件放在不同的位置?

    您是否愿意让所有用户在同一位置生成输出,然后让build命令按每个用户将输出复制到不同的目录?如果是,则可以向主项目文件添加生成后命令,如:

    <Target Name="AfterBuild">
        <PropertyGroup>
            <YourSourceDirectory>..\SomeSourceDirectory</YourSourceDirectory>
            <YourDestinationDirectory>..\SomeDestinationDirectory</YourDestinationDirectory>
        </PropertyGroup>
        <Copy SourceFiles="@(YourFilesToCopy)" DestinationFiles="@(YourFilesToCopy->'$(YourDestinationDirectory)\%(RecursiveDir)%(Filename)%(Extension)')" />
    </Target>
    
    
    ..\SomeSourceDirectory
    ..\SomeDestinationDirectory
    
    非常有趣,但对我没有帮助,因为目标是使源目录保持较小。所以我不想在其他地方复制这些文件,我想直接在其他位置构建这些文件。在复制之后删除@(YourFilesToCopy)处的文件也无济于事,因为这将导致在每个生成上重新生成。