我有一个.sln解决方案文件,引用了一个.csproj项目文件,该文件具有类似于以下内容的构建后任务:
<PropertyGroup>
<PostBuildEvent>
xcopy $(SolutionDir)\dir1\Somefle.xml $(ProjectDir) /Y /I
</PostBuildEvent>
</PropertyGroup>
该解决方案是使用类似以下任务的msbuild构建的:
该解决方案是使用类似以下任务的msbuild构建的:
<Target Name="CompileSolution">
<MSBuild Projects="@(SolutionToBuild)" Targets="Rebuild" Properties="Platform=Any CPU" />
</Target>
现在有一个奇怪的问题:
如果我:
1. 运行构建脚本(比如c:\MyWorkingCopy) 2. 重命名工作副本文件夹(比如改为c:\YourWorkingCopy) 3. 再次运行构建脚本
在第三步中,xcopy会失败,因为它会尝试从“c:\MyWorkingCopy”复制文件,而这当然不是解决方案文件现在所在的位置。
为什么msbuild会使用旧的解决方案目录?是否有一种方法可以重置它?
(我正在使用.NET Framework 3.5)