Skip to content

Commit

Permalink
Fix build with newer cecil (from overriden source path) (dotnet#428)
Browse files Browse the repository at this point in the history
When trying to use newer mono in XA, we run into issues where cecil
(from mono repo) doesn't build anymore. Context:
dotnet/android#3159

Turned out we need to restore nuget packages for cecil before the
build to avoid errors like:

    Mono.Cecil/TypeSystem.cs(83,29): error CS0518: Predefined type 'System.Object' is not defined or imported [/Users/rodo/git/xa2/external/mono/external/cecil/Mono.Cecil.csproj]
    Mono.Cecil/TypeSystem.cs(83,4): error CS0518: Predefined type 'System.Void' is not defined or imported [/Users/rodo/git/xa2/external/mono/external/cecil/Mono.Cecil.csproj]
    Mono.Cecil/TypeSystem.cs(81,4): error CS0518: Predefined type 'System.Object' is not defined or imported [/Users/rodo/git/xa2/external/mono/external/cecil/Mono.Cecil.csproj]

      8 Warning(s)
      7700 Error(s)

Also grant access from `Mono.Cecil.[Mdb|Pdb]` assemblies to
`Mono.Cecil`. Looks like the access restrictions got tighter and so
CSC was complaining about the wrong key. It happens because the
original cecil key differ from our `product.snk` key, which we add in
our overrides and so access for `Mono.Cecil.[Mdb|Pdb]` granted by
original cecil `AssemblyInfo.cs` file is not valid anymore.

The error we were getting from CSC:

    CSC : error CS0281: Friend access was granted by 'Mono.Cecil, Version=0.11.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065', but the public key of the output assembly does not match that specified by the attribute in the granting assembly. [/Users/rodo/git/xa2/external/mono/external/cecil/symbols/mdb/Mono.Cecil.Mdb.csproj]
  • Loading branch information
radekdoulik authored and grendello committed Jun 4, 2019
1 parent 7ef0be5 commit 6717275
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 1 deletion.
2 changes: 2 additions & 0 deletions external/Mono.Cecil.AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@

[assembly: InternalsVisibleTo ("Xamarin.Android.Cecil.Pdb, PublicKey=0024000004800000940000000602000000240000525341310004000011000000438ac2a5acfbf16cbd2b2b47a62762f273df9cb2795ceccdf77d10bf508e69e7a362ea7a45455bbf3ac955e1f2e2814f144e5d817efc4c6502cc012df310783348304e3ae38573c6d658c234025821fda87a0be8a0d504df564e2c93b2b878925f42503e9d54dfef9f9586d9e6f38a305769587b1de01f6c0410328b2c9733db")]
[assembly: InternalsVisibleTo ("Xamarin.Android.Cecil.Mdb, PublicKey=0024000004800000940000000602000000240000525341310004000011000000438ac2a5acfbf16cbd2b2b47a62762f273df9cb2795ceccdf77d10bf508e69e7a362ea7a45455bbf3ac955e1f2e2814f144e5d817efc4c6502cc012df310783348304e3ae38573c6d658c234025821fda87a0be8a0d504df564e2c93b2b878925f42503e9d54dfef9f9586d9e6f38a305769587b1de01f6c0410328b2c9733db")]
[assembly: InternalsVisibleTo ("Mono.Cecil.Pdb, PublicKey=0024000004800000940000000602000000240000525341310004000011000000438ac2a5acfbf16cbd2b2b47a62762f273df9cb2795ceccdf77d10bf508e69e7a362ea7a45455bbf3ac955e1f2e2814f144e5d817efc4c6502cc012df310783348304e3ae38573c6d658c234025821fda87a0be8a0d504df564e2c93b2b878925f42503e9d54dfef9f9586d9e6f38a305769587b1de01f6c0410328b2c9733db")]
[assembly: InternalsVisibleTo ("Mono.Cecil.Mdb, PublicKey=0024000004800000940000000602000000240000525341310004000011000000438ac2a5acfbf16cbd2b2b47a62762f273df9cb2795ceccdf77d10bf508e69e7a362ea7a45455bbf3ac955e1f2e2814f144e5d817efc4c6502cc012df310783348304e3ae38573c6d658c234025821fda87a0be8a0d504df564e2c93b2b878925f42503e9d54dfef9f9586d9e6f38a305769587b1de01f6c0410328b2c9733db")]
2 changes: 1 addition & 1 deletion src/Xamarin.Android.Cecil/Xamarin.Android.Cecil.targets
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
Outputs="$(CecilAssemblies)">
<MSBuild
Projects="@(_CecilProject)"
Targets="Clean;Build"
Targets="Clean;Restore;Build"
StopOnFirstFailure="True"
Properties="Configuration=net_4_0_Debug;OutputPath=$(CecilOutputPath);BuildingSolutionFile=false" />
<Touch Files="$(CecilAssemblies)" />
Expand Down

0 comments on commit 6717275

Please sign in to comment.