Pre*_*ets 219 post-build-event visual-studio-2008 visual-studio
在成功构建时,我希望将输出目录的内容复制到同一"base"文件夹下的其他位置.此父文件夹是相对部分,可以根据"源代码管理"设置而有所不同.
我列出了一些可供我使用的宏值...
$(SolutionDir)= D:\ GlobalDir\Version\AppName\Solution1\build
$(ProjectDir)= D:\ GlobalDir\Version\AppName\Solution1\Version\ProjectA \
我想将Output Dir内容复制到以下文件夹:
D:\ GlobalDir\Version\AppName\Solution2\Project\Dependency
需要从上述宏之一获取基本位置"D:\ GlobalDir\Version\AppName".但是,没有宏值仅列出父位置.
如何仅提取构建后复制命令的基本位置?
Luc*_*s B 272
以下是您要在项目的Post-build事件命令行中添加的内容:
copy /Y "$(TargetDir)$(ProjectName).dll" "$(SolutionDir)lib\$(ProjectName).dll"
Run Code Online (Sandbox Code Playgroud)
编辑:或者如果您的目标名称与项目名称不同.
copy /Y "$(TargetDir)$(TargetName).dll" "$(SolutionDir)lib\$(TargetName).dll"
Run Code Online (Sandbox Code Playgroud)
gbj*_*anb 181
如果TargetDir或其他宏都没有指向正确的位置,请使用".."目录向后向上移动文件夹层次结构.
即.使用$(SolutionDir)\..\..让您的基本目录.
有关所有宏的列表,请参见此处:
http://msdn.microsoft.com/en-us/library/c02as0cs.aspx
ich*_*ban 40
你可以尝试:
$(SolutionDir)..\..\
Run Code Online (Sandbox Code Playgroud)
drz*_*aus 10
我认为这是相关的,但是在使用msbuild命令行(从批处理文件)直接构建VS与VS内部构建时,我遇到了问题.
使用类似以下内容:
<PostBuildEvent>
MOVE /Y "$(TargetDir)something.file1" "$(ProjectDir)something.file1"
start XCOPY /Y /R "$(SolutionDir)SomeConsoleApp\bin\$(ConfigurationName)\*" "$(ProjectDir)App_Data\Consoles\SomeConsoleApp\"
</PostBuildEvent>
Run Code Online (Sandbox Code Playgroud)
(注意:start XCOPY而不是XCOPY用于解决阻止复制的权限问题)
从批处理文件执行msbuild时,宏$(SolutionDir)评估为..\,导致XCOPY命令失败.从Visual Studio内部构建时,它工作正常.确认使用/verbosity:diagnostic以查看评估的输出.
使用宏$(ProjectDir)..\代替相同的东西,工作正常,并在两个构建方案中保留完整路径.
| 归档时间: |
|
| 查看次数: |
325662 次 |
| 最近记录: |