Skip to content

Conversation

@radekdoulik
Copy link
Member

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]

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]
@radekdoulik radekdoulik requested a review from grendello June 4, 2019 10:12
@grendello grendello merged commit 6717275 into dotnet:master Jun 4, 2019
@github-actions github-actions bot locked and limited conversation to collaborators Apr 13, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants