我希望在解决方案配置中设置为“不构建”的解决方案中有一个Web项目,但我仍然希望将项目的引用(及其依赖项)复制到该项目的bin文件夹中。 sln中有实际构建的类库项目,web项目引用这些项目
我们当前的“构建”只是调用devenv,正是这样做。出于显而易见的原因,我宁愿使用MSBuild
我不正在寻找手动文件复制的方法(单独或* .dll)。有很多方法可以做到这一点。我正在寻找一种方法来复制devenv.exe给我们的行为 - 根据解决方案文件(见下文)中项目部分的内容自动复制引用(及其依赖项)。
这些参考资料来自本节的解决方案:
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}")="TheWebProjectName",
"Web\Project\Folder",
"{1CBD1906-0C2E-4C92-A81D-63C2AD816EA1}"
ProjectSection(WebsiteProperties) = preProject
TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0"
ProjectReferences = "{B125568E-E80C-4080-B8D3-5602B604734C}|Some.Reference.dll;
{117E8B0A-F0D6-47D0-BB51-71099969566D}|Some.OtherRef.dll;"
...
EndProjectSection
EndProject
答案 0 :(得分:1)
您可以使用 MSBuild任务执行此类构建操作:http://msdn.microsoft.com/en-us/library/ms171466(v=vs.80).aspx
在您的具体情况下,您可能会对内置的复制任务感兴趣:http://msdn.microsoft.com/en-us/library/3e54c37h(v=vs.80).aspx
答案 1 :(得分:1)
MSBuild使用目标文件来确定它的构建步骤。查看相关的目标文件,确定MSBuild如何复制这些文件,创建自己的目标文件以及修改构建配置以使用新目标。
相关目标文件:
相关文件:
答案 2 :(得分:-1)
尝试使用powershell而不是msbuild !! Ria服务也非常依赖powershell命令行开关。
干杯..
答案 3 :(得分:-1)
使用Exec任务调用devenv.exe - 我们一直在为BizTalk解决方案执行此操作,因为旧版本的MSBuild不支持BizTalk项目文件...