Skip to content

Fix netfx build for S.S.C.Xml nuget package - #78665

Merged
bartonjs merged 2 commits into
dotnet:mainfrom
bartonjs:fix_crypto_xml_netfx
Nov 22, 2022
Merged

Fix netfx build for S.S.C.Xml nuget package#78665
bartonjs merged 2 commits into
dotnet:mainfrom
bartonjs:fix_crypto_xml_netfx

Conversation

@bartonjs

Copy link
Copy Markdown
Member

Fixes#78652.

Manually verified that the net462/ref.dll and net462/lib.dll were missing the typefowards before, and they're present after.

@ghostghost assigned bartonjsNov 21, 2022
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/area-system-security, @vcsjones
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #78652.

Manually verified that the net462/ref.dll and net462/lib.dll were missing the typefowards before, and they're present after.

Author:bartonjs
Assignees:-
Labels:

area-System.Security

Milestone:-

@adamsitnikadamsitnik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change LGTM, but there is one more project file that has the same bug:

<CompileInclude="System.Threading.AccessControl.netframework.cs"Condition="'$(TargetFrameworkIdentifier)' == 'NETFramework'" />

@bartonjs would you mind fixing it in this PR as well?

@carlossanlop

Copy link
Copy Markdown
Contributor

@ViktorHofer is there a way to be notified via a build failure when there's a typo like this?

@ViktorHoferViktorHofer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing this, @bartonjs

@ViktorHofer

Copy link
Copy Markdown
Member

APICompat doesn't catch this because the type forwards don't exist on netstandard2.0. Baseline validation that compares ref/net462 or lib/net462 from the previous package with the live built one could theoretically catch this. That said, we don't have such a feature in ApiCompat today.

I'm a bit surprised that our .NET Framework tests didn't catch this. It looks like the tests don't bind against the package asset and instead directly on the .NET Framework runtime library. That alone is a terrible indicator that we might not be testing our actually .NET Framework shipping assets and that would raise the question why we then even run those tests.

@bartonjs

Copy link
Copy Markdown
MemberAuthor

that would raise the question why we then even run those tests.

For cryptoxml, to ensure that any changes we do take are still compatible with netfx, because it's effectively a serialization library and needs that level of fidelity.

But, yes, it would be better if the tests (or APICompat/etc) could guard us from this, too.

@bartonjs
bartonjs merged commit 3d4f512 into dotnet:mainNov 22, 2022
@bartonjs

Copy link
Copy Markdown
MemberAuthor

/backport to release/7.0

@github-actions

Copy link
Copy Markdown
Contributor

Started backporting to release/7.0: https://github.com/dotnet/runtime/actions/runs/3527528268

@bartonjs
bartonjs deleted the fix_crypto_xml_netfx branch November 22, 2022 22:20
@ghostghost locked as resolved and limited conversation to collaborators Dec 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TypeLoadException in System.Security.Cryptography.Xml v7.0.0.0 for EncryptedData in .NET 4.8 project referencing .NET Standard 2.0 library

4 participants

@bartonjs@carlossanlop@ViktorHofer@adamsitnik
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Fix netfx build for S.S.C.Xml nuget package by bartonjs · Pull Request #78665 · dotnet/runtime · GitHub
Skip to content

Fix netfx build for S.S.C.Xml nuget package - #78665

Merged
bartonjs merged 2 commits into
dotnet:mainfrom
bartonjs:fix_crypto_xml_netfx
Nov 22, 2022
Merged

Fix netfx build for S.S.C.Xml nuget package#78665
bartonjs merged 2 commits into
dotnet:mainfrom
bartonjs:fix_crypto_xml_netfx

Conversation

@bartonjs

Copy link
Copy Markdown
Member

Fixes#78652.

Manually verified that the net462/ref.dll and net462/lib.dll were missing the typefowards before, and they're present after.

@ghostghost assigned bartonjsNov 21, 2022
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/area-system-security, @vcsjones
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #78652.

Manually verified that the net462/ref.dll and net462/lib.dll were missing the typefowards before, and they're present after.

Author:bartonjs
Assignees:-
Labels:

area-System.Security

Milestone:-

@adamsitnikadamsitnik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change LGTM, but there is one more project file that has the same bug:

<CompileInclude="System.Threading.AccessControl.netframework.cs"Condition="'$(TargetFrameworkIdentifier)' == 'NETFramework'" />

@bartonjs would you mind fixing it in this PR as well?

@carlossanlop

Copy link
Copy Markdown
Contributor

@ViktorHofer is there a way to be notified via a build failure when there's a typo like this?

@ViktorHoferViktorHofer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing this, @bartonjs

@ViktorHofer

Copy link
Copy Markdown
Member

APICompat doesn't catch this because the type forwards don't exist on netstandard2.0. Baseline validation that compares ref/net462 or lib/net462 from the previous package with the live built one could theoretically catch this. That said, we don't have such a feature in ApiCompat today.

I'm a bit surprised that our .NET Framework tests didn't catch this. It looks like the tests don't bind against the package asset and instead directly on the .NET Framework runtime library. That alone is a terrible indicator that we might not be testing our actually .NET Framework shipping assets and that would raise the question why we then even run those tests.

@bartonjs

Copy link
Copy Markdown
MemberAuthor

that would raise the question why we then even run those tests.

For cryptoxml, to ensure that any changes we do take are still compatible with netfx, because it's effectively a serialization library and needs that level of fidelity.

But, yes, it would be better if the tests (or APICompat/etc) could guard us from this, too.

@bartonjs
bartonjs merged commit 3d4f512 into dotnet:mainNov 22, 2022
@bartonjs

Copy link
Copy Markdown
MemberAuthor

/backport to release/7.0

@github-actions

Copy link
Copy Markdown
Contributor

Started backporting to release/7.0: https://github.com/dotnet/runtime/actions/runs/3527528268

@bartonjs
bartonjs deleted the fix_crypto_xml_netfx branch November 22, 2022 22:20
@ghostghost locked as resolved and limited conversation to collaborators Dec 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TypeLoadException in System.Security.Cryptography.Xml v7.0.0.0 for EncryptedData in .NET 4.8 project referencing .NET Standard 2.0 library

4 participants

@bartonjs@carlossanlop@ViktorHofer@adamsitnik
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Fix netfx build for S.S.C.Xml nuget package by bartonjs · Pull Request #78665 · dotnet/runtime · GitHub
Skip to content

Fix netfx build for S.S.C.Xml nuget package - #78665

Merged
bartonjs merged 2 commits into
dotnet:mainfrom
bartonjs:fix_crypto_xml_netfx
Nov 22, 2022
Merged

Fix netfx build for S.S.C.Xml nuget package#78665
bartonjs merged 2 commits into
dotnet:mainfrom
bartonjs:fix_crypto_xml_netfx

Conversation

@bartonjs

Copy link
Copy Markdown
Member

Fixes#78652.

Manually verified that the net462/ref.dll and net462/lib.dll were missing the typefowards before, and they're present after.

@ghostghost assigned bartonjsNov 21, 2022
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/area-system-security, @vcsjones
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #78652.

Manually verified that the net462/ref.dll and net462/lib.dll were missing the typefowards before, and they're present after.

Author:bartonjs
Assignees:-
Labels:

area-System.Security

Milestone:-

@adamsitnikadamsitnik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change LGTM, but there is one more project file that has the same bug:

<CompileInclude="System.Threading.AccessControl.netframework.cs"Condition="'$(TargetFrameworkIdentifier)' == 'NETFramework'" />

@bartonjs would you mind fixing it in this PR as well?

@carlossanlop

Copy link
Copy Markdown
Contributor

@ViktorHofer is there a way to be notified via a build failure when there's a typo like this?

@ViktorHoferViktorHofer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing this, @bartonjs

@ViktorHofer

Copy link
Copy Markdown
Member

APICompat doesn't catch this because the type forwards don't exist on netstandard2.0. Baseline validation that compares ref/net462 or lib/net462 from the previous package with the live built one could theoretically catch this. That said, we don't have such a feature in ApiCompat today.

I'm a bit surprised that our .NET Framework tests didn't catch this. It looks like the tests don't bind against the package asset and instead directly on the .NET Framework runtime library. That alone is a terrible indicator that we might not be testing our actually .NET Framework shipping assets and that would raise the question why we then even run those tests.

@bartonjs

Copy link
Copy Markdown
MemberAuthor

that would raise the question why we then even run those tests.

For cryptoxml, to ensure that any changes we do take are still compatible with netfx, because it's effectively a serialization library and needs that level of fidelity.

But, yes, it would be better if the tests (or APICompat/etc) could guard us from this, too.

@bartonjs
bartonjs merged commit 3d4f512 into dotnet:mainNov 22, 2022
@bartonjs

Copy link
Copy Markdown
MemberAuthor

/backport to release/7.0

@github-actions

Copy link
Copy Markdown
Contributor

Started backporting to release/7.0: https://github.com/dotnet/runtime/actions/runs/3527528268

@bartonjs
bartonjs deleted the fix_crypto_xml_netfx branch November 22, 2022 22:20
@ghostghost locked as resolved and limited conversation to collaborators Dec 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TypeLoadException in System.Security.Cryptography.Xml v7.0.0.0 for EncryptedData in .NET 4.8 project referencing .NET Standard 2.0 library

4 participants

@bartonjs@carlossanlop@ViktorHofer@adamsitnik
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Fix netfx build for S.S.C.Xml nuget package by bartonjs · Pull Request #78665 · dotnet/runtime · GitHub
Skip to content

Fix netfx build for S.S.C.Xml nuget package - #78665

Merged
bartonjs merged 2 commits into
dotnet:mainfrom
bartonjs:fix_crypto_xml_netfx
Nov 22, 2022
Merged

Fix netfx build for S.S.C.Xml nuget package#78665
bartonjs merged 2 commits into
dotnet:mainfrom
bartonjs:fix_crypto_xml_netfx

Conversation

@bartonjs

Copy link
Copy Markdown
Member

Fixes#78652.

Manually verified that the net462/ref.dll and net462/lib.dll were missing the typefowards before, and they're present after.

@ghostghost assigned bartonjsNov 21, 2022
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/area-system-security, @vcsjones
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #78652.

Manually verified that the net462/ref.dll and net462/lib.dll were missing the typefowards before, and they're present after.

Author:bartonjs
Assignees:-
Labels:

area-System.Security

Milestone:-

@adamsitnikadamsitnik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change LGTM, but there is one more project file that has the same bug:

<CompileInclude="System.Threading.AccessControl.netframework.cs"Condition="'$(TargetFrameworkIdentifier)' == 'NETFramework'" />

@bartonjs would you mind fixing it in this PR as well?

@carlossanlop

Copy link
Copy Markdown
Contributor

@ViktorHofer is there a way to be notified via a build failure when there's a typo like this?

@ViktorHoferViktorHofer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing this, @bartonjs

@ViktorHofer

Copy link
Copy Markdown
Member

APICompat doesn't catch this because the type forwards don't exist on netstandard2.0. Baseline validation that compares ref/net462 or lib/net462 from the previous package with the live built one could theoretically catch this. That said, we don't have such a feature in ApiCompat today.

I'm a bit surprised that our .NET Framework tests didn't catch this. It looks like the tests don't bind against the package asset and instead directly on the .NET Framework runtime library. That alone is a terrible indicator that we might not be testing our actually .NET Framework shipping assets and that would raise the question why we then even run those tests.

@bartonjs

Copy link
Copy Markdown
MemberAuthor

that would raise the question why we then even run those tests.

For cryptoxml, to ensure that any changes we do take are still compatible with netfx, because it's effectively a serialization library and needs that level of fidelity.

But, yes, it would be better if the tests (or APICompat/etc) could guard us from this, too.

@bartonjs
bartonjs merged commit 3d4f512 into dotnet:mainNov 22, 2022
@bartonjs

Copy link
Copy Markdown
MemberAuthor

/backport to release/7.0

@github-actions

Copy link
Copy Markdown
Contributor

Started backporting to release/7.0: https://github.com/dotnet/runtime/actions/runs/3527528268

@bartonjs
bartonjs deleted the fix_crypto_xml_netfx branch November 22, 2022 22:20
@ghostghost locked as resolved and limited conversation to collaborators Dec 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TypeLoadException in System.Security.Cryptography.Xml v7.0.0.0 for EncryptedData in .NET 4.8 project referencing .NET Standard 2.0 library

4 participants

@bartonjs@carlossanlop@ViktorHofer@adamsitnik
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Fix netfx build for S.S.C.Xml nuget package by bartonjs · Pull Request #78665 · dotnet/runtime · GitHub
Skip to content

Fix netfx build for S.S.C.Xml nuget package - #78665

Merged
bartonjs merged 2 commits into
dotnet:mainfrom
bartonjs:fix_crypto_xml_netfx
Nov 22, 2022
Merged

Fix netfx build for S.S.C.Xml nuget package#78665
bartonjs merged 2 commits into
dotnet:mainfrom
bartonjs:fix_crypto_xml_netfx

Conversation

@bartonjs

Copy link
Copy Markdown
Member

Fixes#78652.

Manually verified that the net462/ref.dll and net462/lib.dll were missing the typefowards before, and they're present after.

@ghostghost assigned bartonjsNov 21, 2022
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/area-system-security, @vcsjones
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #78652.

Manually verified that the net462/ref.dll and net462/lib.dll were missing the typefowards before, and they're present after.

Author:bartonjs
Assignees:-
Labels:

area-System.Security

Milestone:-

@adamsitnikadamsitnik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change LGTM, but there is one more project file that has the same bug:

<CompileInclude="System.Threading.AccessControl.netframework.cs"Condition="'$(TargetFrameworkIdentifier)' == 'NETFramework'" />

@bartonjs would you mind fixing it in this PR as well?

@carlossanlop

Copy link
Copy Markdown
Contributor

@ViktorHofer is there a way to be notified via a build failure when there's a typo like this?

@ViktorHoferViktorHofer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing this, @bartonjs

@ViktorHofer

Copy link
Copy Markdown
Member

APICompat doesn't catch this because the type forwards don't exist on netstandard2.0. Baseline validation that compares ref/net462 or lib/net462 from the previous package with the live built one could theoretically catch this. That said, we don't have such a feature in ApiCompat today.

I'm a bit surprised that our .NET Framework tests didn't catch this. It looks like the tests don't bind against the package asset and instead directly on the .NET Framework runtime library. That alone is a terrible indicator that we might not be testing our actually .NET Framework shipping assets and that would raise the question why we then even run those tests.

@bartonjs

Copy link
Copy Markdown
MemberAuthor

that would raise the question why we then even run those tests.

For cryptoxml, to ensure that any changes we do take are still compatible with netfx, because it's effectively a serialization library and needs that level of fidelity.

But, yes, it would be better if the tests (or APICompat/etc) could guard us from this, too.

@bartonjs
bartonjs merged commit 3d4f512 into dotnet:mainNov 22, 2022
@bartonjs

Copy link
Copy Markdown
MemberAuthor

/backport to release/7.0

@github-actions

Copy link
Copy Markdown
Contributor

Started backporting to release/7.0: https://github.com/dotnet/runtime/actions/runs/3527528268

@bartonjs
bartonjs deleted the fix_crypto_xml_netfx branch November 22, 2022 22:20
@ghostghost locked as resolved and limited conversation to collaborators Dec 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TypeLoadException in System.Security.Cryptography.Xml v7.0.0.0 for EncryptedData in .NET 4.8 project referencing .NET Standard 2.0 library

4 participants

@bartonjs@carlossanlop@ViktorHofer@adamsitnik
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Fix netfx build for S.S.C.Xml nuget package by bartonjs · Pull Request #78665 · dotnet/runtime · GitHub
Skip to content

Fix netfx build for S.S.C.Xml nuget package - #78665

Merged
bartonjs merged 2 commits into
dotnet:mainfrom
bartonjs:fix_crypto_xml_netfx
Nov 22, 2022
Merged

Fix netfx build for S.S.C.Xml nuget package#78665
bartonjs merged 2 commits into
dotnet:mainfrom
bartonjs:fix_crypto_xml_netfx

Conversation

@bartonjs

Copy link
Copy Markdown
Member

Fixes#78652.

Manually verified that the net462/ref.dll and net462/lib.dll were missing the typefowards before, and they're present after.

@ghostghost assigned bartonjsNov 21, 2022
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/area-system-security, @vcsjones
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #78652.

Manually verified that the net462/ref.dll and net462/lib.dll were missing the typefowards before, and they're present after.

Author:bartonjs
Assignees:-
Labels:

area-System.Security

Milestone:-

@adamsitnikadamsitnik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change LGTM, but there is one more project file that has the same bug:

<CompileInclude="System.Threading.AccessControl.netframework.cs"Condition="'$(TargetFrameworkIdentifier)' == 'NETFramework'" />

@bartonjs would you mind fixing it in this PR as well?

@carlossanlop

Copy link
Copy Markdown
Contributor

@ViktorHofer is there a way to be notified via a build failure when there's a typo like this?

@ViktorHoferViktorHofer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing this, @bartonjs

@ViktorHofer

Copy link
Copy Markdown
Member

APICompat doesn't catch this because the type forwards don't exist on netstandard2.0. Baseline validation that compares ref/net462 or lib/net462 from the previous package with the live built one could theoretically catch this. That said, we don't have such a feature in ApiCompat today.

I'm a bit surprised that our .NET Framework tests didn't catch this. It looks like the tests don't bind against the package asset and instead directly on the .NET Framework runtime library. That alone is a terrible indicator that we might not be testing our actually .NET Framework shipping assets and that would raise the question why we then even run those tests.

@bartonjs

Copy link
Copy Markdown
MemberAuthor

that would raise the question why we then even run those tests.

For cryptoxml, to ensure that any changes we do take are still compatible with netfx, because it's effectively a serialization library and needs that level of fidelity.

But, yes, it would be better if the tests (or APICompat/etc) could guard us from this, too.

@bartonjs
bartonjs merged commit 3d4f512 into dotnet:mainNov 22, 2022
@bartonjs

Copy link
Copy Markdown
MemberAuthor

/backport to release/7.0

@github-actions

Copy link
Copy Markdown
Contributor

Started backporting to release/7.0: https://github.com/dotnet/runtime/actions/runs/3527528268

@bartonjs
bartonjs deleted the fix_crypto_xml_netfx branch November 22, 2022 22:20
@ghostghost locked as resolved and limited conversation to collaborators Dec 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TypeLoadException in System.Security.Cryptography.Xml v7.0.0.0 for EncryptedData in .NET 4.8 project referencing .NET Standard 2.0 library

4 participants

@bartonjs@carlossanlop@ViktorHofer@adamsitnik
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Fix netfx build for S.S.C.Xml nuget package by bartonjs · Pull Request #78665 · dotnet/runtime · GitHub
Skip to content

Fix netfx build for S.S.C.Xml nuget package - #78665

Merged
bartonjs merged 2 commits into
dotnet:mainfrom
bartonjs:fix_crypto_xml_netfx
Nov 22, 2022
Merged

Fix netfx build for S.S.C.Xml nuget package#78665
bartonjs merged 2 commits into
dotnet:mainfrom
bartonjs:fix_crypto_xml_netfx

Conversation

@bartonjs

Copy link
Copy Markdown
Member

Fixes#78652.

Manually verified that the net462/ref.dll and net462/lib.dll were missing the typefowards before, and they're present after.

@ghostghost assigned bartonjsNov 21, 2022
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/area-system-security, @vcsjones
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #78652.

Manually verified that the net462/ref.dll and net462/lib.dll were missing the typefowards before, and they're present after.

Author:bartonjs
Assignees:-
Labels:

area-System.Security

Milestone:-

@adamsitnikadamsitnik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change LGTM, but there is one more project file that has the same bug:

<CompileInclude="System.Threading.AccessControl.netframework.cs"Condition="'$(TargetFrameworkIdentifier)' == 'NETFramework'" />

@bartonjs would you mind fixing it in this PR as well?

@carlossanlop

Copy link
Copy Markdown
Contributor

@ViktorHofer is there a way to be notified via a build failure when there's a typo like this?

@ViktorHoferViktorHofer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing this, @bartonjs

@ViktorHofer

Copy link
Copy Markdown
Member

APICompat doesn't catch this because the type forwards don't exist on netstandard2.0. Baseline validation that compares ref/net462 or lib/net462 from the previous package with the live built one could theoretically catch this. That said, we don't have such a feature in ApiCompat today.

I'm a bit surprised that our .NET Framework tests didn't catch this. It looks like the tests don't bind against the package asset and instead directly on the .NET Framework runtime library. That alone is a terrible indicator that we might not be testing our actually .NET Framework shipping assets and that would raise the question why we then even run those tests.

@bartonjs

Copy link
Copy Markdown
MemberAuthor

that would raise the question why we then even run those tests.

For cryptoxml, to ensure that any changes we do take are still compatible with netfx, because it's effectively a serialization library and needs that level of fidelity.

But, yes, it would be better if the tests (or APICompat/etc) could guard us from this, too.

@bartonjs
bartonjs merged commit 3d4f512 into dotnet:mainNov 22, 2022
@bartonjs

Copy link
Copy Markdown
MemberAuthor

/backport to release/7.0

@github-actions

Copy link
Copy Markdown
Contributor

Started backporting to release/7.0: https://github.com/dotnet/runtime/actions/runs/3527528268

@bartonjs
bartonjs deleted the fix_crypto_xml_netfx branch November 22, 2022 22:20
@ghostghost locked as resolved and limited conversation to collaborators Dec 23, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TypeLoadException in System.Security.Cryptography.Xml v7.0.0.0 for EncryptedData in .NET 4.8 project referencing .NET Standard 2.0 library

4 participants

@bartonjs@carlossanlop@ViktorHofer@adamsitnik