Fix build with newer cecil (from overriden source path)#428
Merged
grendello merged 1 commit intodotnet:masterfrom Jun 4, 2019
Merged
Conversation
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]
grendello
approved these changes
Jun 4, 2019
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
Also grant access from
Mono.Cecil.[Mdb|Pdb]assemblies toMono.Cecil. Looks like the access restrictions got tighter and soCSC was complaining about the wrong key. It happens because the
original cecil key differ from our
product.snkkey, which we add inour overrides and so access for
Mono.Cecil.[Mdb|Pdb]granted byoriginal cecil
AssemblyInfo.csfile is not valid anymore.The error we were getting from CSC: