-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Preview 7: 'Could not find assembly 'mscorlib...' in Microsoft.WinFX.targets #1451
Comments
Thanks. I misspoke slightly in the OP. I have three dependencies that are not shared with the (working) WinForms app: MahApps.Metro.Resources (0.6.1) |
Confirming that the libraries above don't impact this issue. Simply creating a file->new .Net Core Wpf app and referencing a shared Core 3.0 class library causes this error at MarkupCompilePass1 in Microsoft.WinFx.targets, whereas the same reference for a .Net Core WinForms app does not cause the issue. |
Thanks @dcuccia. For a standard netcore assembly built from the netcore template, I see System.Runtime in the metadata, not mscorlib, and a WPF test project referencing the netcore library in markup is building. Is there any way you could you share a repro project? This looks like a bug in PBT. Thanks. |
Hi @ryalanms , I'll try to create a repro. The library dependency is proprietary, but it's dependencies aren't so maybe I can recreate the issue independently. |
Can report that upgrading Nuget package Microsoft.Practices.Unity 4.0.1 to Unity 5.11.1 resolves this build error. Attaching example of broken solution. |
I also see a similar behaviour in preview7 and preview8 with targetframework net461. This will reproduce it
You can also clone https://github.com/hsorbo/wpfbug |
Thanks for the repro @dcuccia. The problem is that // Metadata version: v4.0.30319 Version 4.0.1 of pulls in At compile time A new |
When |
@ryalanms it seems like you should just be able to wrap |
I'm not sure which preview broke this. But I know it worked fine in Preview 3. |
@hallatore: The assembly matching became more restrictive when the resolver was switched to PathAssemblyResolver, which requires public key token and version to match. |
@rladuca: Handling just the retargetable assembly resolutions and passing other Resolve requests to an instance of PathAssemblyResolver would require as many lines as rewriting the resolver. |
@ryalanms Is there a way around this? The error message isn't exactly self explaining, so I'm not sure what I can do to fix this. Do I need to wait for it to get fixed in the SDK? I'm guessing the issue lies with me using older net461 nuget packages in WPF. But then again isn't that kinda the point with WPF in 3.0? |
Unfortunately there isn't a work-around. During XAML compilation, if an assembly is loaded in ReflectionOnly context that was built against an older version of mscorlib, the compiler will fail to resolve the older mscorlib version. I'll see if we can get this in. |
I agree with @rladuca that we should just fix this in CoreFX. |
https://github.com/dotnet/corefx/issues/40523#issuecomment-525405471
|
I've ran into the same issue when creating my first WPF core 3.1 application. As soon as I add a manual dll reference
with old proprietary net2.0 stuff (even compatible to dead WinCE), the compiler shows this error
Looking at dotnet/runtime#30663 tells me it was set to "won't fix" for 3.0, but the last comments say it has been merged and went live into servicing fix. However, I'm running dotnet core |
@nzain I recommend opening a new issue. This particular symptom has seen a few newer (and more prominent) iterations and focused efforts at troubleshooting. A new issue will provide folks a place to reference more recent investigations and dig into your specific problem. Reactivating/opening this issue may not be ideal (since nobody is going to 'fix' 3.0preview7 now 😁). |
Hi! On .Net Core 3.0 Preview 7, VS 16.3 Preview 1.
My only error for my WPF project is below (a similar WinForms project that depends on the same assemblies is building and running fine). I have no explicit dependencies on mscorlib, but possibly an implicit one via a 3rd party dependency. Is this a forwarding issue specific to WPF? If so, how to resolve? Thanks!!
Error MC1000 Unknown build error, 'Could not find assembly 'mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'. Either explicitly load this assembly using a method such as LoadFromAssemblyPath() or use a MetadataAssemblyResolver that returns a valid assembly.' C:\Program Files\dotnet\sdk\3.0.100-preview7-012821\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.WinFX.targets 243
Originally posted by @dcuccia in dotnet/core#3075 (comment)
/cc @ryalanms, @grubioe
/cc @dotnet/wpf-developers
The text was updated successfully, but these errors were encountered: