Skip to content
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

Could not load file or assembly 'System.Threading.Tasks.Extensions, Version=4.2.0.0 #741

Closed
kopycol opened this issue Jul 28, 2021 · 13 comments

Comments

@kopycol
Copy link

kopycol commented Jul 28, 2021

Hi
After any conversion from C# to VB I got same error:

Code converter 8.3.0 - Visual Studio 15.9.28307.1585

An error has occured during conversion - press Ctrl+C to copy the details: System.IO.FileNotFoundException: Could not load file or assembly 'System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified.

File name: 'System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'

at ICSharpCode.CodeConverter.Shared.ProjectConversion.ConvertSingleAsync[TLanguageConversion](Document document, SingleConversionOptions conversionOptions, IProgress`1 progress, CancellationToken cancellationToken)

at ICSharpCode.CodeConverter.VsExtension.CodeConversion.d__23`1.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at ICSharpCode.CodeConverter.VsExtension.CodeConversion.<>c__DisplayClass14_0`1.<b__0>d.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at Microsoft.VisualStudio.Threading.JoinableTask.d__78.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at Microsoft.VisualStudio.Threading.JoinableTask`1.d__3.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at ICSharpCode.CodeConverter.VsExtension.CodeConversion.d__14`1.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at ICSharpCode.CodeConverter.VsExtension.ConvertCSToVBCommand.d__24.MoveNext()

WRN: Assembly binding logging is turned OFF.

To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.

Note: There is some performance penalty associated with assembly bind failure logging.

To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

Support for VS2017 (15.*) is likely to end this year. You're using: 15.9.28307.1585

OK

@GrahamTheCoder
Copy link
Member

Thanks for letting me know. If you're able to find the version of System.Threading.Tasks.Extensions in your installation that'd be useful. One way is to check for the dll in the same directory ss devenv. exe.
Another way is to attach another instance of visual studio to this visual studio and open the modules window (debug, windows, modules iirc)
Thanks

@kopycol
Copy link
Author

kopycol commented Jul 29, 2021

image

@GrahamTheCoder
Copy link
Member

Ah, OK, I've seen this sort of thing before. If you disable that extension, restart vs and try the converter again, does it work (or at least do anything different)?

@kopycol
Copy link
Author

kopycol commented Jul 30, 2021

Sorry, it isn't clear for me which extension to disable - "Code Converter"?
I removed Code Converter, installed it again and there is the same error message box.

@GrahamTheCoder
Copy link
Member

GrahamTheCoder commented Jul 30, 2021

Ah sorry, I was referring to "ADL Tools" (Azure Data Lake tools?) It seems to be loading a different version of the assembly that trips up the code converter. If it's possible to disable that (I'm actually not sure since it's a Microsoft thing) then try that, restart and see if the error is still there.

In terms of unblocking your conversion, you could try using the command line and see if you have any more success, you can install it from the command line like this (assuming dotnet is on your path):
dotnet tool install ICSharpCode.CodeConverter.codeconv --global

@kopycol
Copy link
Author

kopycol commented Aug 2, 2021

Hi Graham,
I actually haven't updated Azure because I don't use it.
I have updated now, reinstall Code Converter and exception a bit changed:


Code converter 8.3.0 - Visual Studio 15.9.28307.1585

An error has occured during conversion - press Ctrl+C to copy the details: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

File name: 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

at System.Threading.Tasks.ValueTask`1.get_IsCompleted()

at ICSharpCode.CodeConverter.Shared.ProjectConversion.d__10`1.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)

at ICSharpCode.CodeConverter.VsExtension.CodeConversion.d__23`1.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at ICSharpCode.CodeConverter.VsExtension.CodeConversion.<>c__DisplayClass14_0`1.<b__0>d.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at Microsoft.VisualStudio.Threading.JoinableTask.d__78.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at Microsoft.VisualStudio.Threading.JoinableTask`1.d__3.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at ICSharpCode.CodeConverter.VsExtension.CodeConversion.d__14`1.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at ICSharpCode.CodeConverter.VsExtension.ConvertCSToVBCommand.d__24.MoveNext()

WRN: Assembly binding logging is turned OFF.

To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.

Note: There is some performance penalty associated with assembly bind failure logging.

To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

Support for VS2017 (15.*) is likely to end this year. You're using: 15.9.28307.1585

OK

@kopycol
Copy link
Author

kopycol commented Aug 2, 2021

image

@GrahamTheCoder
Copy link
Member

Ah, interesting. I've always been a bit confused at why people with reasonably recent patch versions (of VS2017) have different dll versions to the ones I saw when testing. But if only some components were updated that makes a lot of sense.

I'll see if I can do anything to allow different versions (e.g. Assembly resolve event). Obviously if nothing is stopping you using a newer version of visual studio or the code converter command line that will likely let you make progress faster. Thanks for the info!

@kopycol
Copy link
Author

kopycol commented Aug 4, 2021

Hi
Where command line version is described?
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community>dotnet tool install ICSharpCode.CodeConverter.codeconv --global
error NU1202: Package ICSharpCode.CodeConverter.CodeConv 8.2.5 is not compatible with netcoreapp2.1 (.NETCoreApp,Version=v2.1) / any. Package ICSharpCode.CodeConverter.CodeConv 8.2.5 supports: netcoreapp3.1 (.NETCoreApp,Version=v3.1) / any
The tool package could not be restored.

@GrahamTheCoder
Copy link
Member

The error message is telling you to install dot net core 3.1 (it may also work with later versions, I haven't tested).
Easiest thing is to download and install this: https://dotnet.microsoft.com/download/dotnet/3.1
Then try the install command again

@GrahamTheCoder
Copy link
Member

Possible fix/workaround in next release for the assembly loading issue (FileNotFoundException)

@eschneider999
Copy link

Updated Azure Data lake (still disabled) to 2.6.2000.0 and the Converter now works.

@GrahamTheCoder
Copy link
Member

Thanks for reporting back!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants