有没有办法在Visual Studio项目中进行用户特定的前/后构建事件?

我目前正在我的项目中使用post build事件将我的程序集复制到另一个目录以进行调试。 这是我的机器本地的,仅用于调试目的,所以我更喜欢将它放在* .csproj.user文件而不是* .csproj文件中。 我尝试将负责的元素从* .csproj复制到* .csproj.user ,但这不起作用。

编辑为了澄清,我不想将用户特定的命令放在* .csproj文件中的post-build事件中。 相反,我想将post-build事件命令放在* .csproj.user文件中。 (从答案到目前为止,这看起来不可能)

为了提供更多上下文,它不是项目参考。 我将我的程序集复制到运行时加载程序集的应用程序的目录。 (想想插件)

简短的回答是否定的,不是你想要的方式:|

稍微长一点的答案就是sorta。 理论上,您可以为单个用户触发特定的构建事件,但这些事件仍然位于csproj文件中。 您可以在构建上运行外部事件,然后允许这些外部事件运行,具体取决于运行它们的用户(作为脚本)。

如果仅用于调试,我只需插入它们,在将其上传到版本控制系统之前完成构建并将其拉出来。

您可以使用具有由环境变量触发的条件的自定义生成目标 。 然后只在您的机器上设置该变量。

使用if语句和环境变量(如果需要,使用双引号)

if "$(Username)" == "MyUser" copy /y $(ProjectDir)memcached.$(ConfigurationName).config $(ProjectDir)memcached.config 

生成前/生成后事件保存在项目文件中。 VS没有提供任何选择。

您可以引入自定义(外部)工具来执行此类复制,并从菜单或宏调用它并调用它。