[nem-en] assembly versioning

NoiseEHC NoiseEHC at freemail.hu
Thu Feb 16 20:38:12 CET 2006


Put the .nproj files at the ncc directory.

So Nemerle.nproj and Nemerle.Compiler.nproj succeed while 
Nemerle.Macros.nproj fails.


C:\MinGW\1.0\home\Administrator\nemerle\ncc>msbuild Nemerle.Macros.nproj
Microsoft (R) Build Engine Version 2.0.50727.42
[Microsoft .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation 2005. All rights reserved.

Build started 2006.02.16. 20:31:45.
__________________________________________________
Project 
"C:\MinGW\1.0\home\Administrator\nemerle\ncc\Nemerle.Macros.nproj" 
(default targets):

Target CoreCompile:
    C:\Program Files\Nemerle\ncc.exe /no-color /no-stdlib 
/define:_stage3 /debug+ /out:obj\Debug\Nemerle.Macros.dll /tar
get:library ../macros/Profiling.n ../macros/xml.n ../macros/text.n 
../macros/io.n ../macros/core.n ../macros/compiler.n
../macros/assertions.n ../macros/operators.n ../macros/concurrency.n 
../macros/Util.n ../macros/Nemerle.n ../macros/Memo
ize.n ../macros/Logging.n ../macros/Internals.n ../macros/English.n 
../macros/Data.n ../macros/DesignPatterns.n ../macro
s/AssemblyInfo.n 
/ref:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll 
/ref:bin/Debug/Nemerle.Compiler.dll /re
f:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll
    C:\Program Files\Nemerle\Nemerle.MSBuild.targets(167,9): error : 
internal compiler error: got some unknown exception
 of type System.IO.FileLoadException: Could not load file or assembly 
'Nemerle, Version=0.9.2.23, Culture=neutral, Publi
cKeyToken=e080a9c724e2bfcd' or one of its dependencies. The located 
assembly's manifest definition does not match the as
sembly reference. (Exception from HRESULT: 0x80131040)
Done building target "CoreCompile" in project "Nemerle.Macros.nproj" -- 
FAILED.

Done building project "Nemerle.Macros.nproj" -- FAILED.

Build FAILED.
C:\Program Files\Nemerle\Nemerle.MSBuild.targets(167,9): error : 
internal compiler error: got some unknown exception of
type System.IO.FileLoadException: Could not load file or assembly 
'Nemerle, Version=0.9.2.23, Culture=neutral, PublicKey
Token=e080a9c724e2bfcd' or one of its dependencies. The located 
assembly's manifest definition does not match the assemb
ly reference. (Exception from HRESULT: 0x80131040)
    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:05.26


Now look at
http://blogs.msdn.com/suzcook/archive/2003/05/29/57120.aspx
and use fuslogvw.exe

Simply these loading rules are too complicated so the simplest thing 
would be
renaming dlls or avoiding using .* in the version (I think).


Kamil Skalski wrote:
> Hm, I thought MSBuild is running compiler as a separate process, so my
> intuition is that it should not conflict. Can we see the message, or
> can you post your MSBuild file, we you are using?
>
> Maybe it is a problem related to compiler. I think there was some
> similar problem during bootstraping on mono, that is why we have
> out.stage1/Nemerle.stage1.dll  instead of out.stage1/Nemerle.dll
>
> 06-02-16, NoiseEHC <NoiseEHC at freemail.hu> napisał(a):
>   
>> Can we change to versioning assemblies explicitly?
>> I mean change 0.9.2.* to 0.9.2.XXX where we should increment XXX by hand
>> every time we really need.
>> The problem is that when MSBuild-ing Nemerle, the .NET loader terminates
>> because the msbuild task
>> and the nemerle compiler tries to load two Nemerle.dll files with
>> different minor numbers (0.9.2.23 vs 0.9.2.25).
>>
>>
>> _______________________________________________
>> https://nemerle.org/mailman/listinfo/devel-en
>>
>>     
>
>
> --
> Kamil Skalski
> http://nazgul.omega.pl
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> https://nemerle.org/mailman/listinfo/devel-en
>   
-------------- next part --------------
ďťż<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{55f43250-a681-4326-ac8e-52995858faf6}</ProjectGuid>
    <OutputType>Library</OutputType>
    <RootNamespace>Application</RootNamespace>
    <AssemblyName>Nemerle</AssemblyName>
    <Name>Nemerle</Name>
    <TargetPlatform>v2</TargetPlatform>
    <DefineConstants>RUNTIME_MS</DefineConstants>
    <DefineConstants>_stage3</DefineConstants>
    <WarningLevel>4</WarningLevel>
    <NoStandardLib>true</NoStandardLib>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    <OutputPath>bin\Debug\</OutputPath>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
    <OutputPath>bin\Release\</OutputPath>
  </PropertyGroup>
  <Import Project="$(PROGRAMFILES)\Nemerle\Nemerle.MSBuild.targets" />
  <ItemGroup>
    <Folder Include="..\lib" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="..\lib\AssemblyInfo.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\concurrency.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\core.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\getopt.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\hashtable.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\heap.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\icloneable.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\icollection.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\idictionary.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\idictionaryenumerator.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\input.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\internal-numbered.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\internal.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\LazyValue.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\linkedlist.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\list.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\listenumerator.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\macros.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\narray.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\nstring.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\oldapi.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\option.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\pair.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\PipeReader.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\PipeWriter.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\queue.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\set.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\stack.n">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="..\lib\tree.n">
      <SubType>Code</SubType>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <Reference Include="mscorlib" />
    <Reference Include="System" />
  </ItemGroup>
</Project>
-------------- next part --------------
ďťż<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{55f43250-a681-4326-ac8e-52995858faf6}</ProjectGuid>
    <OutputType>Library</OutputType>
    <RootNamespace>Application</RootNamespace>
    <AssemblyName>Nemerle.Compiler</AssemblyName>
    <Name>Nemerle</Name>
    <TargetPlatform>v2</TargetPlatform>
    <DefineConstants>RUNTIME_MS</DefineConstants>
    <DefineConstants>_stage3</DefineConstants>
    <WarningLevel>4</WarningLevel>
    <NoStandardLib>true</NoStandardLib>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    <OutputPath>bin\Debug\</OutputPath>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
    <OutputPath>bin\Release\</OutputPath>
  </PropertyGroup>
  <Import Project="$(PROGRAMFILES)\Nemerle\Nemerle.MSBuild.targets" />
  <ItemGroup>
		<Folder Include="codedom" />
		<Folder Include="external" />
		<Folder Include="generation" />
		<Folder Include="hierarchy" />
		<Folder Include="misc" />
		<Folder Include="parsing" />
		<Folder Include="typing" />
		<Folder Include="completion" />
	</ItemGroup>
	<ItemGroup>
		<Compile Include="CompilationOptions.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="codedom/NemerleCodeCompiler.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="codedom/NemerleCodeGenerator.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="codedom/NemerleCodeProvider.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="external/Codec.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="external/InternalTypes.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="external/LibrariesLoader.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="generation/HierarchyEmitter.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="generation/ILEmitter.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="generation/ImplementsWrapperMaker.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="generation/MatchingCompiler.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="generation/DecisionTreeCompiler.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="generation/Typer3.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="generation/Typer4.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="hierarchy/ExtensionMethod.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="hierarchy/BuiltinMethod.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="hierarchy/ClassMembers.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="hierarchy/CustomAttribute.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="hierarchy/DelegateClassGen.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="hierarchy/GlobalEnv.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="hierarchy/MacroClassGen.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="hierarchy/NamespaceTree.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="hierarchy/ScanTypeHierarchy.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="hierarchy/TypeBuilder.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="hierarchy/TypeInfo.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="hierarchy/TypesManager.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="hierarchy/XmlDump.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="misc/AssemblyInfo.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="misc/PrettyPrint.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="misc/Stats.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="parsing/AST.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="parsing/Lexer.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="parsing/MainParser-Extensions.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="parsing/MainParser.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="parsing/ParseTree.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="parsing/PreParser.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="parsing/PreParserIndent.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="parsing/Utility.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="passes.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/ConstantFolder.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/DecisionTreeBuilder.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/ErrorMessage.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/LocalContext.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/LocalValue.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/MType.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/MacroColorizer.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/MacroRegistry.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/Macros.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/Messenger.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/OverloadPossibility.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/RestartInErrorMode.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/Solver.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/StaticTyVar.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/Subst.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/TyVar.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/TyVarEnv.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/TypedTree.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/Typer-CallTyper.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/Typer-DelayedTyping.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/Typer-OverloadSelection.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/Typer-PatternTyper.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/Typer.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="typing/Typer2.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="completion/CodeCompletionEngine.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="completion/CompletionEngineError.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="completion/CompletionEngineTree.n">
			<SubType>Code</SubType>
		</Compile>
	</ItemGroup>
  <ItemGroup>
    <Reference Include="mscorlib" />
    <Reference Include="System" />
		<Reference Include="bin/Debug/Nemerle.dll" />
	</ItemGroup>
</Project>
-------------- next part --------------
ďťż<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{55f43250-a681-4326-ac8e-52995858faf6}</ProjectGuid>
    <OutputType>Library</OutputType>
    <RootNamespace>Application</RootNamespace>
    <AssemblyName>Nemerle.Macros</AssemblyName>
    <Name>Nemerle</Name>
    <TargetPlatform>v2</TargetPlatform>
    <DefineConstants>RUNTIME_MS</DefineConstants>
    <DefineConstants>_stage3</DefineConstants>
    <WarningLevel>4</WarningLevel>
    <NoStandardLib>true</NoStandardLib>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    <OutputPath>bin\Debug\</OutputPath>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
    <OutputPath>bin\Release\</OutputPath>
  </PropertyGroup>
  <Import Project="$(PROGRAMFILES)\Nemerle\Nemerle.MSBuild.targets" />
  <ItemGroup>
    <Folder Include="../macros" />
	</ItemGroup>
	<ItemGroup>
		<Compile Include="../macros/Profiling.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/xml.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/text.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/io.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/core.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/compiler.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/assertions.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/operators.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/concurrency.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/Util.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/Nemerle.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/Memoize.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/Logging.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/Internals.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/English.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/Data.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/DesignPatterns.n">
			<SubType>Code</SubType>
		</Compile>
		<Compile Include="../macros/AssemblyInfo.n">
			<SubType>Code</SubType>
		</Compile>
	</ItemGroup>
  <ItemGroup>
    <Reference Include="mscorlib" />
    <Reference Include="System" />
		<Reference Include="bin/Debug/Nemerle.Compiler.dll" />
	</ItemGroup>
</Project>


More information about the devel-en mailing list