Tag: post build event

post-build powershell脚本

我有以下post-build事件: powershell Set-ExecutionPolicy Unrestricted powershell -file “$(SolutionDir)Obfuscation\_obfuscate.ps1” “$(SolutionDir)” “$(ProjectDir)” powershell Set-ExecutionPolicy Restricted 和PS脚本开头: param ( [string]$slnDir, [string]$projectDir ) 当MSBuild尝试运行它时,我的第一个参数”$(SolutionDir)”被分成两个参数,因为解决方案路径包含一个空格字符: D:\Projects\Dion2 Mercurial\repo\Dion2Web\ 。 所以我的脚本接收D:\Projects\Dion2作为第一个参数, Mercurial\repo\Dion2Web\作为第二个参数。 将这些参数发送到脚本文件的正确方法是什么? 注意:当脚本只有一个参数时,这样的构建后脚本可以正常工作。

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

我目前正在我的项目中使用post build事件将我的程序集复制到另一个目录以进行调试。 这是我的机器本地的,仅用于调试目的,所以我更喜欢将它放在* .csproj.user文件而不是* .csproj文件中。 我尝试将负责的元素从* .csproj复制到* .csproj.user ,但这不起作用。 编辑为了澄清,我不想将用户特定的命令放在* .csproj文件中的post-build事件中。 相反,我想将post-build事件命令放在* .csproj.user文件中。 (从答案到目前为止,这看起来不可能) 为了提供更多上下文,它不是项目参考。 我将我的程序集复制到运行时加载程序集的应用程序的目录。 (想想插件)

在构建后事件上更新本地nuget包

我的本地nuget库存储库分别用于我的个人和工作相关的类库。 我已经为不再开发的库创建了一些nuget包。 我只为他们这样做,因为我不知道如何在项目构建后自动更新它们。 我认为所有的工作都是由nuget命令行和Visual Studio命令提示符完成的。 所以我可以轻松地完成我需要的工作(当然,我会完全了解命令而不是!) 基本上我希望在项目的post-build事件上执行以下任务。 在项目构建上: 将项目dll复制到特定文件夹(nuget包的lib文件夹) 更新nuspec文件以获取新文件版本(我的项目正在增加每个版本的文件版本) 使用新文件版本创建新的nupkg文件 Phil Haack展示了这个function,但据我所知,它仍然是原型。 所以我的要求是上面的。 有没有其他人完成这个?

如何从C#项目的构建事件访问Visual Studio解决方案级平台?

我们有一个大型的VS 2010解决方案,主要是C#代码,但有一些本地DLL,各种C#项目依赖(包括我们的unit testingDLL)。 我们正在尝试支持32位和64位版本的库。 所以我们现在将本机DLL构建为32位和64位。 问题是我们的很多C#项目都有后期构建事件,它们将所需的本机DLL复制到项目的TargetDir中。 现在我们有两个不同版本的本机DLL(32位和64位),我需要能够指定正确的dir来复制本机DLL。 我原本以为我可以简单地在路径中使用$(Platform),如下所示: copy $(SolutionDir)\NativeDll\$(Platform)\$(Configuration) $(TargetDir) 但这不起作用,因为$(Platform)是项目的平台,而不是解决方案级平台。 在这种情况下,$(平台)是“任何CPU”。 从我看到的C#项目中的后期构建事件宏看,似乎没有办法访问正在构建的解决方案级平台。 有没有更好的方法来实现我的目标?