使用msbuild使用csproj文件中的内容项打包网站
我已经编写了一个msbuild脚本来打包webapp,如下所示:使用msbuild使用csproj文件中的内容项打包网站,msbuild,csproj,Msbuild,Csproj,我已经编写了一个msbuild脚本来打包webapp,如下所示: <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0" DefaultTargets="Main"> <PropertyGroup> <WebAppSourceDir>e:\Web</WebAppSour
<Project
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ToolsVersion="4.0"
DefaultTargets="Main">
<PropertyGroup>
<WebAppSourceDir>e:\Web</WebAppSourceDir>
</PropertyGroup>
<Import Project="$(WebAppSourceDir)\WebApp.csproj"/>
<ItemGroup>
<BuiltFiles Include="$(WebAppSourceDir)\bin\**\*.*"/>
</ItemGroup>
<Target Name="Main" DependsOnTargets="" >
<Copy SourceFiles="$(WebAppSourceDir)\%(Content.Identity)"
DestinationFiles="c:\temp\buildoutput\%(Content.Identity)" Condition="%(Content.Link) == ''"/>
<Copy SourceFiles="@(BuiltFiles)"
DestinationFolder="c:\temp\buildoutput\bin\%(RecursiveDir)"/>
</Target>
</Project>
e:\Web
这很好,但是我们在解决方案中构建了多个web项目,并且它们都使用同一个更大的msbuild项目同时打包。那么,我如何在任何时候明确要求只提供给定csproj文件的内容项呢
或者。。。做我想做的事情的更好方法是什么
谢谢。您考虑过使用Web部署项目吗?然后可以调用打包目标
是的,这就是我们目前正在使用的,但我不喜欢它。包和副本是我们唯一依赖的部分,因此我正在尝试自己重新创建它。@Gaz-为什么不将这些MSBuild任务导入到您自己的目标文件中,然后以您喜欢的方式利用它们呢?@Gaz-让我知道进展如何。。。我以一种通用的方式使用Web.config转换任务,将其应用于App.config和silverlight WCF clientConfig文件,它的工作方式很有魅力。我无法忍受这种配置转换。摩擦太大,无法添加我喜欢的新项目。。我自己写的!