diff options
author | Jackson Schuster <36744439+jtschuster@users.noreply.github.com> | 2022-08-15 22:07:47 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-15 22:07:47 +0300 |
commit | c710e8af4224a3d0d2975ba5c2b09f0398ee2383 (patch) | |
tree | 70a4f2229c7e129fec32e259b4e84f64c45f1381 /eng/Versions.props | |
parent | 33c3b2c60d0a2006162a6326db853fe5415439bd (diff) |
Add IL Verification to tests (#2960)
Adds an ILVerifier to check that the IL produced by the linker is valid. Unsafe C# produced unverifiable code, so we skip verification when we pass that flag to the compiler. Also, there are a few warnings that are produced by valid C# with new features like static abstract interface methods and ref fields and ref returns.
In the future, it may be nice to add better error messages with the type, method name, and IL offset that produced the error, and perhaps an [ExpectedILVerifyError] attribute instead of filtering all of a type of error, but those are non-trivial to implement and don't occur in many tests (<10), so I haven't done that yet.
Diffstat (limited to 'eng/Versions.props')
-rw-r--r-- | eng/Versions.props | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/eng/Versions.props b/eng/Versions.props index ea29c2eae..cef1af03c 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -25,6 +25,7 @@ <MicrosoftNetCompilersToolsetVersion>$(MicrosoftCodeAnalysisVersion)</MicrosoftNetCompilersToolsetVersion> <MicrosoftCodeAnalysisCSharpAnalyzerTestingXunitVersion>1.0.1-beta1.*</MicrosoftCodeAnalysisCSharpAnalyzerTestingXunitVersion> <MicrosoftCodeAnalysisBannedApiAnalyzersVersion>3.3.2</MicrosoftCodeAnalysisBannedApiAnalyzersVersion> + <MicrosoftILVerificationVersion>7.0.0-preview.7.22375.6</MicrosoftILVerificationVersion> <!-- This controls the version of the cecil package, or the version of cecil in the project graph when we build the cecil submodule. The reference assembly package will depend on this version of cecil. Keep this in sync with ProjectInfo.cs in the submodule. --> |