我有一个.sln解决方案文件,它引用了一个.csproj项目文件,该文件具有如下的生成后任务:
<PropertyGroup>
<PostBuildEvent>
xcopy $(SolutionDir)\dir1\Somefle.xml $(ProjectDir) /Y /I
</PostBuildEvent>
</PropertyGroup>
该解决方案是使用带有如下任务的msbuild生成的:
<Target Name="CompileSolution">
<MSBuild Projects="@(SolutionToBuild)" Targets="Rebuild" Properties="Platform=Any CPU" />
</Target>
奇怪的是:
如果我:
-
运行构建脚本(例如c:\myworkingcopy)
-
重命名工作副本文件夹(对c:\yourWorkingCopy说)
-
再次运行生成脚本
在步骤3中,xcopy将失败,因为它将尝试从“c:\myworkingcopy”复制文件-当然,解决方案文件现在不在该位置。
为什么msbuild使用旧的解决方案目录?有什么方法可以重置它吗?
(我正在使用.NET Framework 3.5)