Bugs item #1985576, was opened at 2008-06-05 18:10 Message generated for change (Comment added) made by maliger You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=402868&aid=1985576&group_id=31650
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Framework support Group: 0.86 Status: Open Resolution: None Priority: 5 Private: No Submitted By: tomthorne (tomthorne) Assigned to: Nobody/Anonymous (nobody) Summary: solution task (via MSBuildProject) cannot build 2008 csproj Initial Comment: 0.86-beta 1 (1) Msbuild engine 3.5 not backwards compatible with msbuild 2.0 due to $(MSBuildToolsPath) used instead of $(MSBuildBinPath) (2) VS2008 uses MSBuildToolsPath in its projects, so want to support msbuild 3.5 (3) NAnt shipped with MSBuildProject built against msbuild 2.0 (4) cannot just use a binding redirect since msbuild 3.5 has changed the name of 1 of the assemblies (Microsoft.Build.Utilities.v3.5.dll) My workaround: 1. edit NAnt.MSBuild.build task to build a 3.5 specific version referencing Microsoft.Build 3.5 2. fix Nant.Console App.config - correct ref assemblies from Microsoft.Build.Utilities.dll to Microsoft.Build.Utilities.v3.5.dll - correct scan paths from 2.0 to 3.5 - add suppoted runtime - added binding redirect so that don't get GetWinFXPath error Patches are here: App.config 384c384 < <include name="Microsoft.Build.Utilities.dll" /> --- > <!-- include name="Microsoft.Build.Utilities.dll" /--> 417a418 > <include name="Microsoft.Build.Utilities.v3.5.dll" /> 449,450c450 < <!-- include MS.NET 2.0 specific assemblies --> < <include name="extensions/net/2.0/**/*.dll" /> --- > <include name="extensions/net/3.5/**/*.dll" /> 455,456c455 < <!-- include .NET 2.0 specific assemblies --> < <include name="extensions/common/2.0/**/*.dll" /> --- > <include name="extensions/common/3.5/**/*.dll" /> 1907a1907,1914 > > <dependentAssembly> > <assemblyIdentity name="Microsoft.Build.Framework" > publicKeyToken="b03f5f7f11d50a3a" > culture="neutral" /> > <bindingRedirect oldVersion="2.0.0.0" > newVersion="3.5.0.0"/> > </dependentAssembly> 1908a1916 > 1911c1919 < <!-- .NET Framework 2.0 --> --- > <supportedRuntime version="v3.5.21022" /> NAnt.MSBuild.build 1c1 < <?xml version="1.0"?> --- > <?xml version="1.0"?> 10c10 < <target name="build" if="${framework::exists('net-2.0') or framework::exists('mono-2.0') or framework::exists('net-3.5') }"> --- > <target name="build" if="${framework::exists('net-2.0') or > framework::exists('mono-2.0')}"> 14,46d13 < < <if test="${framework::exists('net-3.5')}"> < <!-- modify target framework to .NET 2.0 --> < <property name="nant.settings.currentframework" value="net-3.5" /> < < <mkdir dir="${build.dir}/bin/extensions/common/3.5" /> < < <!-- build main assembly --> < <csc verbose="true" target="library" define="${current.build.defines}" warnaserror="${build.warnaserror}" debug="${build.debug}" output="${build.dir}/bin/extensions/common/3.5/${project::get-name()}.dll" doc="${build.dir}/bin/extensions/common/3.5/${project::get-name()}.xml"> < <sources> < <include name="**/*.cs" /> < <!-- common assembly-level attributes --> < <include name="../CommonAssemblyInfo.cs" /> < </sources> < <references> < <include name="Microsoft.Build.Engine.dll" /> < <include name="Microsoft.Build.Framework.dll" /> < <include name="Microsoft.Build.Utilities.v3.5.dll" /> < <include name="${build.dir}/bin/NAnt.Core.dll" /> < <include name="${build.dir}/bin/NAnt.DotNetTasks.dll" /> < <include name="${build.dir}/bin/NAnt.VSNetTasks.dll" /> < </references> < <resources prefix="NAnt.MSBuild" dynamicprefix="true"> < <include name="Resources/**/*" /> < </resources> < </csc> < < </if> < < < < <if test="${framework::exists('net-3.5') == false }"> < 57,58d23 < < 81d45 < </if> ---------------------------------------------------------------------- Comment By: Martin Aliger (maliger) Date: 2008-06-06 09:23 Message: Logged In: YES user_id=655297 Originator: NO Tom, thanks for patches you supplied. I'll look into this stuff. Unfortunatelly binding redirects seems to be only way how to support both msbuild2.0 and msbuild 3.5, but we would like to switch between them dynamically (so you can choose which one to use in solution task). ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=402868&aid=1985576&group_id=31650 ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers