Could not load file or assembly 'System.IO.Pipelines'
I recently upgraded my console app project from framework 4.5.2 to 4.6.1. Everything works correctly in the development environment, but when I deploy the full bin folder to my production environment, I get the following error.
Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'System.IO.Pipelines, Version=4.6.26919.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
I have setup the binding redirect in production as follows:
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.6.26919.2" />
</dependentAssembly>
The file definitely exists in the bin folder and my production environment has framework 4.6.2 installed. Any ideas?
Updated with output from FUSLOGVW:
*** Assembly Binder Log Entry (1/2/2019 @ 11:47:22 AM) ***
The operation failed.
Bind result: hr = 0x80131040. No description available.
Assembly manager loaded from: C:WindowsMicrosoft.NETFrameworkv4.0.30319clr.dll
Running under executable {{REDACTED}}NotificationService.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: DisplayName = System.IO.Pipelines, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
(Fully-specified)
LOG: Appbase = file:///{{REDACTED}}/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NotificationService.exe
Calling assembly : Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: {{REDACTED}}NotificationService.exe.config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:WindowsMicrosoft.NETFrameworkv4.0.30319configmachine.config.
LOG: Post-policy reference: System.IO.Pipelines, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///{{REDACTED}}/System.IO.Pipelines.DLL.
LOG: Assembly download was successful. Attempting setup of file: {{REDACTED}}System.IO.Pipelines.dll
LOG: Entering run-from-source setup phase.
LOG: Assembly Name is: System.IO.Pipelines, Version=4.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
WRN: Comparing the assembly name resulted in the mismatch: Revision Number
ERR: The assembly reference did not match the assembly definition found.
ERR: Run-from-source setup phase failed with hr = 0x80131040.
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.
.net
|
show 4 more comments
I recently upgraded my console app project from framework 4.5.2 to 4.6.1. Everything works correctly in the development environment, but when I deploy the full bin folder to my production environment, I get the following error.
Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'System.IO.Pipelines, Version=4.6.26919.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
I have setup the binding redirect in production as follows:
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.6.26919.2" />
</dependentAssembly>
The file definitely exists in the bin folder and my production environment has framework 4.6.2 installed. Any ideas?
Updated with output from FUSLOGVW:
*** Assembly Binder Log Entry (1/2/2019 @ 11:47:22 AM) ***
The operation failed.
Bind result: hr = 0x80131040. No description available.
Assembly manager loaded from: C:WindowsMicrosoft.NETFrameworkv4.0.30319clr.dll
Running under executable {{REDACTED}}NotificationService.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: DisplayName = System.IO.Pipelines, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
(Fully-specified)
LOG: Appbase = file:///{{REDACTED}}/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NotificationService.exe
Calling assembly : Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: {{REDACTED}}NotificationService.exe.config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:WindowsMicrosoft.NETFrameworkv4.0.30319configmachine.config.
LOG: Post-policy reference: System.IO.Pipelines, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///{{REDACTED}}/System.IO.Pipelines.DLL.
LOG: Assembly download was successful. Attempting setup of file: {{REDACTED}}System.IO.Pipelines.dll
LOG: Entering run-from-source setup phase.
LOG: Assembly Name is: System.IO.Pipelines, Version=4.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
WRN: Comparing the assembly name resulted in the mismatch: Revision Number
ERR: The assembly reference did not match the assembly definition found.
ERR: Run-from-source setup phase failed with hr = 0x80131040.
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.
.net
1
Try removing thebindingRedirect
.
– Robert Harvey♦
Jan 2 at 17:15
@RobertHarvey that is how it started. I added it because I was getting the same message except for the version was 4.0.0.0
– fizch
Jan 2 at 17:19
1
Use Microsoft's "Assembly binding log viewer" (Fuslogvw.exe), it tells you what binding requests are being processed and which fail. docs.microsoft.com/en-us/dotnet/framework/tools/…
– Siraf
Jan 2 at 17:27
@maytham-ɯɐɥʇʎɐɯ that isn't referenced directly in my package manager. It is a dependency of StackExchange.Redis.
– fizch
Jan 2 at 17:28
@Siraf is that something that I can run on my server without installing Visual Studio?
– fizch
Jan 2 at 17:33
|
show 4 more comments
I recently upgraded my console app project from framework 4.5.2 to 4.6.1. Everything works correctly in the development environment, but when I deploy the full bin folder to my production environment, I get the following error.
Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'System.IO.Pipelines, Version=4.6.26919.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
I have setup the binding redirect in production as follows:
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.6.26919.2" />
</dependentAssembly>
The file definitely exists in the bin folder and my production environment has framework 4.6.2 installed. Any ideas?
Updated with output from FUSLOGVW:
*** Assembly Binder Log Entry (1/2/2019 @ 11:47:22 AM) ***
The operation failed.
Bind result: hr = 0x80131040. No description available.
Assembly manager loaded from: C:WindowsMicrosoft.NETFrameworkv4.0.30319clr.dll
Running under executable {{REDACTED}}NotificationService.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: DisplayName = System.IO.Pipelines, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
(Fully-specified)
LOG: Appbase = file:///{{REDACTED}}/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NotificationService.exe
Calling assembly : Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: {{REDACTED}}NotificationService.exe.config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:WindowsMicrosoft.NETFrameworkv4.0.30319configmachine.config.
LOG: Post-policy reference: System.IO.Pipelines, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///{{REDACTED}}/System.IO.Pipelines.DLL.
LOG: Assembly download was successful. Attempting setup of file: {{REDACTED}}System.IO.Pipelines.dll
LOG: Entering run-from-source setup phase.
LOG: Assembly Name is: System.IO.Pipelines, Version=4.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
WRN: Comparing the assembly name resulted in the mismatch: Revision Number
ERR: The assembly reference did not match the assembly definition found.
ERR: Run-from-source setup phase failed with hr = 0x80131040.
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.
.net
I recently upgraded my console app project from framework 4.5.2 to 4.6.1. Everything works correctly in the development environment, but when I deploy the full bin folder to my production environment, I get the following error.
Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'System.IO.Pipelines, Version=4.6.26919.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
I have setup the binding redirect in production as follows:
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.6.26919.2" />
</dependentAssembly>
The file definitely exists in the bin folder and my production environment has framework 4.6.2 installed. Any ideas?
Updated with output from FUSLOGVW:
*** Assembly Binder Log Entry (1/2/2019 @ 11:47:22 AM) ***
The operation failed.
Bind result: hr = 0x80131040. No description available.
Assembly manager loaded from: C:WindowsMicrosoft.NETFrameworkv4.0.30319clr.dll
Running under executable {{REDACTED}}NotificationService.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: DisplayName = System.IO.Pipelines, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
(Fully-specified)
LOG: Appbase = file:///{{REDACTED}}/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NotificationService.exe
Calling assembly : Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: {{REDACTED}}NotificationService.exe.config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:WindowsMicrosoft.NETFrameworkv4.0.30319configmachine.config.
LOG: Post-policy reference: System.IO.Pipelines, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///{{REDACTED}}/System.IO.Pipelines.DLL.
LOG: Assembly download was successful. Attempting setup of file: {{REDACTED}}System.IO.Pipelines.dll
LOG: Entering run-from-source setup phase.
LOG: Assembly Name is: System.IO.Pipelines, Version=4.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
WRN: Comparing the assembly name resulted in the mismatch: Revision Number
ERR: The assembly reference did not match the assembly definition found.
ERR: Run-from-source setup phase failed with hr = 0x80131040.
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.
.net
.net
edited Jan 2 at 18:04
fizch
asked Jan 2 at 17:13
fizchfizch
1,51431936
1,51431936
1
Try removing thebindingRedirect
.
– Robert Harvey♦
Jan 2 at 17:15
@RobertHarvey that is how it started. I added it because I was getting the same message except for the version was 4.0.0.0
– fizch
Jan 2 at 17:19
1
Use Microsoft's "Assembly binding log viewer" (Fuslogvw.exe), it tells you what binding requests are being processed and which fail. docs.microsoft.com/en-us/dotnet/framework/tools/…
– Siraf
Jan 2 at 17:27
@maytham-ɯɐɥʇʎɐɯ that isn't referenced directly in my package manager. It is a dependency of StackExchange.Redis.
– fizch
Jan 2 at 17:28
@Siraf is that something that I can run on my server without installing Visual Studio?
– fizch
Jan 2 at 17:33
|
show 4 more comments
1
Try removing thebindingRedirect
.
– Robert Harvey♦
Jan 2 at 17:15
@RobertHarvey that is how it started. I added it because I was getting the same message except for the version was 4.0.0.0
– fizch
Jan 2 at 17:19
1
Use Microsoft's "Assembly binding log viewer" (Fuslogvw.exe), it tells you what binding requests are being processed and which fail. docs.microsoft.com/en-us/dotnet/framework/tools/…
– Siraf
Jan 2 at 17:27
@maytham-ɯɐɥʇʎɐɯ that isn't referenced directly in my package manager. It is a dependency of StackExchange.Redis.
– fizch
Jan 2 at 17:28
@Siraf is that something that I can run on my server without installing Visual Studio?
– fizch
Jan 2 at 17:33
1
1
Try removing the
bindingRedirect
.– Robert Harvey♦
Jan 2 at 17:15
Try removing the
bindingRedirect
.– Robert Harvey♦
Jan 2 at 17:15
@RobertHarvey that is how it started. I added it because I was getting the same message except for the version was 4.0.0.0
– fizch
Jan 2 at 17:19
@RobertHarvey that is how it started. I added it because I was getting the same message except for the version was 4.0.0.0
– fizch
Jan 2 at 17:19
1
1
Use Microsoft's "Assembly binding log viewer" (Fuslogvw.exe), it tells you what binding requests are being processed and which fail. docs.microsoft.com/en-us/dotnet/framework/tools/…
– Siraf
Jan 2 at 17:27
Use Microsoft's "Assembly binding log viewer" (Fuslogvw.exe), it tells you what binding requests are being processed and which fail. docs.microsoft.com/en-us/dotnet/framework/tools/…
– Siraf
Jan 2 at 17:27
@maytham-ɯɐɥʇʎɐɯ that isn't referenced directly in my package manager. It is a dependency of StackExchange.Redis.
– fizch
Jan 2 at 17:28
@maytham-ɯɐɥʇʎɐɯ that isn't referenced directly in my package manager. It is a dependency of StackExchange.Redis.
– fizch
Jan 2 at 17:28
@Siraf is that something that I can run on my server without installing Visual Studio?
– fizch
Jan 2 at 17:33
@Siraf is that something that I can run on my server without installing Visual Studio?
– fizch
Jan 2 at 17:33
|
show 4 more comments
1 Answer
1
active
oldest
votes
Use Microsoft's "Assembly binding log viewer" (Fuslogvw.exe), it tells you what binding requests are being processed and which fail.
https://docs.microsoft.com/en-us/dotnet/framework/tools/fuslogvw-exe-assembly-binding-log-viewer
If fuslogvw.exe is not installed on the production environment then check this:
using FUSLOGVW.EXE on a machine with no Visual Studio installed
2
This worked. It allowed me to see that it found 4.0.0.1 not the file version that I had set it to. Thanks for your help.
– fizch
Jan 2 at 18:17
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54010475%2fcould-not-load-file-or-assembly-system-io-pipelines%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Use Microsoft's "Assembly binding log viewer" (Fuslogvw.exe), it tells you what binding requests are being processed and which fail.
https://docs.microsoft.com/en-us/dotnet/framework/tools/fuslogvw-exe-assembly-binding-log-viewer
If fuslogvw.exe is not installed on the production environment then check this:
using FUSLOGVW.EXE on a machine with no Visual Studio installed
2
This worked. It allowed me to see that it found 4.0.0.1 not the file version that I had set it to. Thanks for your help.
– fizch
Jan 2 at 18:17
add a comment |
Use Microsoft's "Assembly binding log viewer" (Fuslogvw.exe), it tells you what binding requests are being processed and which fail.
https://docs.microsoft.com/en-us/dotnet/framework/tools/fuslogvw-exe-assembly-binding-log-viewer
If fuslogvw.exe is not installed on the production environment then check this:
using FUSLOGVW.EXE on a machine with no Visual Studio installed
2
This worked. It allowed me to see that it found 4.0.0.1 not the file version that I had set it to. Thanks for your help.
– fizch
Jan 2 at 18:17
add a comment |
Use Microsoft's "Assembly binding log viewer" (Fuslogvw.exe), it tells you what binding requests are being processed and which fail.
https://docs.microsoft.com/en-us/dotnet/framework/tools/fuslogvw-exe-assembly-binding-log-viewer
If fuslogvw.exe is not installed on the production environment then check this:
using FUSLOGVW.EXE on a machine with no Visual Studio installed
Use Microsoft's "Assembly binding log viewer" (Fuslogvw.exe), it tells you what binding requests are being processed and which fail.
https://docs.microsoft.com/en-us/dotnet/framework/tools/fuslogvw-exe-assembly-binding-log-viewer
If fuslogvw.exe is not installed on the production environment then check this:
using FUSLOGVW.EXE on a machine with no Visual Studio installed
answered Jan 2 at 18:16
SirafSiraf
464314
464314
2
This worked. It allowed me to see that it found 4.0.0.1 not the file version that I had set it to. Thanks for your help.
– fizch
Jan 2 at 18:17
add a comment |
2
This worked. It allowed me to see that it found 4.0.0.1 not the file version that I had set it to. Thanks for your help.
– fizch
Jan 2 at 18:17
2
2
This worked. It allowed me to see that it found 4.0.0.1 not the file version that I had set it to. Thanks for your help.
– fizch
Jan 2 at 18:17
This worked. It allowed me to see that it found 4.0.0.1 not the file version that I had set it to. Thanks for your help.
– fizch
Jan 2 at 18:17
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54010475%2fcould-not-load-file-or-assembly-system-io-pipelines%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Try removing the
bindingRedirect
.– Robert Harvey♦
Jan 2 at 17:15
@RobertHarvey that is how it started. I added it because I was getting the same message except for the version was 4.0.0.0
– fizch
Jan 2 at 17:19
1
Use Microsoft's "Assembly binding log viewer" (Fuslogvw.exe), it tells you what binding requests are being processed and which fail. docs.microsoft.com/en-us/dotnet/framework/tools/…
– Siraf
Jan 2 at 17:27
@maytham-ɯɐɥʇʎɐɯ that isn't referenced directly in my package manager. It is a dependency of StackExchange.Redis.
– fizch
Jan 2 at 17:28
@Siraf is that something that I can run on my server without installing Visual Studio?
– fizch
Jan 2 at 17:33