У меня есть проект веб-развертывания .wdproj, созданный с VS2010, который содержит ссылки на другие библиотеки классов, например:
<Project ToolsVersion="4.0" DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ProjectReference Include="..\Path\Proj1.csproj">
<Project>{GUID-HERE}</Project>
<Name>Proj1</Name>
</ProjectReference>
<ProjectReference Include="..\Path\Proj2.csproj">
<Project>{GUID-HERE}</Project>
<Name>Proj2</Name>
</ProjectReference>
Их много.Я хочу иметь возможность запускать msbuild /t:Rebuild /p:Configuration=Release
и иметь все сборки всех включенных проектов, скомпилированных в указанной версии.Ничего особенного, только статического, как 2.5.6.0 и указан один раз в файле wdproj.Я не хочу открывать 30 файлов вручную.
Я посмотрел MSBuild Community Task и MSBuildExtension Pack и не могу заставить что-либо работать.Сборка работает без ошибок.
У кого-нибудь есть пример того, как это можно сделать?
Это попытка с расширениями MSBuild (адаптировано из включенного примера), которая не работает:
<Import Project="$(MSBuildExtensionsPath)\ExtensionPack\4.0\MSBuild.ExtensionPack.VersionNumber.targets"/>
<Target Name="Build">
<MSBuild.ExtensionPack.Framework.AssemblyInfo
ComVisible="true"
AssemblyInfoFiles="VersionInfo.cs"
AssemblyFileMajorVersion="2"
AssemblyFileMinorVersion="5"
AssemblyFileBuildNumber="6"
AssemblyFileRevision="0"
/>
</Target>
MSBuild определенно просматривает элемент MSBuild.ExtensionPack.Framework.AssemblyInfo
, потому что, если имена атрибутов неверны, сборка завершится неудачно.Это нормально, но ни одна из версий на указанных сборках не изменилась.Все номера версий на сборках страниц ASP.NET с веб-сайта - 0.0.0.0.