【问题标题】:Setting output path on a per user basis为每个用户设置输出路径
【发布时间】:2013-06-14 09:38:58
【问题描述】:

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

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

的行
<OutputPath>C:\exe\MyApp\Debugx86</OutputPath>

这会将我的主应用程序的输出重定向到新的输出文件夹。但是一旦我这样做了,就会出现两个问题:

  1. 干净的解决方案不再删除输出文件
  2. 我无法启动调试器,因为它需要旧位置的 exe。

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

【问题讨论】:

    标签: .net wpf visual-studio-2012


    【解决方案1】:

    您是否愿意为所有用户在同一个地方构建输出,然后让构建命令针对每个用户将输出复制到不同的目录?如果是这样,您可以在主项目文件中添加构建后命令,例如:

    <Target Name="AfterBuild">
        <PropertyGroup>
            <YourSourceDirectory>..\SomeSourceDirectory</YourSourceDirectory>
            <YourDestinationDirectory>..\SomeDestinationDirectory</YourDestinationDirectory>
        </PropertyGroup>
        <Copy SourceFiles="@(YourFilesToCopy)" DestinationFiles="@(YourFilesToCopy->'$(YourDestinationDirectory)\%(RecursiveDir)%(Filename)%(Extension)')" />
    </Target>
    

    【讨论】:

    • 非常有趣,但对我没有帮助,因为目标是保持源目录小。所以我不想将文件复制到其他地方,我想直接在另一个位置构建这些文件。复制后删除@(YourFilesToCopy) 处的文件也无济于事,因为这会导致每次构建时都重新构建。
    猜你喜欢
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    相关资源
    最近更新 更多