gpt4 book ai didi

visual-studio-2012 - 如何在 VS2012 构建后步骤中获取 Visual Studio 2012 AddIns 文件夹(或当前用户的 "Documents"文件夹)?

转载 作者:行者123 更新时间:2023-12-01 16:23:34 25 4
gpt4 key购买 nike

我有一个包含生成后步骤的 Visual Studio 2012 扩展项目,我想在其中将 .dll 和 .AddIn 文件复制到当前用户的 Visual Studio 2012 AddIns 文件夹中。

我使用的是 Windows 8,因此我尝试复制到的文件夹是:“C:\Users\{Me}\Documents\Visual Studio 2012\AddIns”

如何将 VS AddIns 文件夹作为 VS 命令行“宏”获取(这样我就可以使用类似的东西

$(VSAddInsFolder)

在我的构建后步骤中?

或者,如何获取当前用户的文档文件夹(这样我可以使用以下内容:

$(MyDocuments)\Visual Studio 2012\AddIns

在我的构建后步骤中?

前者更好,因为我想 AddIns 文件夹的位置在所有操作系统上都不相同。

这些似乎都不能作为环境变量使用(我知道我可以自己将文件夹设置为环境变量,然后使用它,但如果可能的话我宁愿不这样做)。

谢谢

最佳答案

这是我最接近回答我自己的问题!

1) VS Add-ins 文件夹可能会根据操作系统而变化。我目前只关心 Windows 8,因此我可以使用 %UserProfile%\Documents\Visual Studio 2012\AddIns 作为 Add-ins 文件夹。

2)在构建后步骤中检测Windows版本,如下:(找到here)

@echo off
ver | find "6.2" > nul
if %ERRORLEVEL% == 0 goto Win8

ver | find "6.1" > nul
if %ERRORLEVEL% == 0 goto Win7

ver | find "5.1" > nul
if %ERRORLEVEL% == 0 goto WinXP

:Win8
echo Running Windows 8
copy "$(TargetDir)$(TargetFileName)" "$(USERPROFILE)\Documents\Visual Studio 2012\Addins\$(TargetFileName)"
copy "$(ProjectDir)$(ProjectName).AddIn" "$(USERPROFILE)\Documents\Visual Studio 2012\Addins\$(ProjectName).AddIn"
goto exit

:Win7
echo Running Windows 7 - I think this Addins path is correct
copy "$(TargetDir)$(TargetFileName)" "$(USERPROFILE)\Documents\Visual Studio 2012\Addins\$(TargetFileName)"
copy "$(ProjectDir)$(ProjectName).AddIn" "$(USERPROFILE)\Documents\Visual Studio 2012\Addins\$(ProjectName).AddIn"
goto exit

:WinXP
echo Running Windows XP, so the Addins path might not be correct
copy "$(TargetDir)$(TargetFileName)" "$(USERPROFILE)\Documents\Visual Studio 2012\Addins\$(TargetFileName)"
copy "$(ProjectDir)$(ProjectName).AddIn" "$(USERPROFILE)\Documents\Visual Studio 2012\Addins\$(ProjectName).AddIn"
goto exit

:exit

如果我需要在不同的操作系统上运行它(并且它们使用相同的位置作为 VS Addins 文件夹),那么我可以简单地调整批处理文件的相关部分。 .

关于visual-studio-2012 - 如何在 VS2012 构建后步骤中获取 Visual Studio 2012 AddIns 文件夹(或当前用户的 "Documents"文件夹)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16607745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com