So i've just installed miniprofiler.mvc to my web project and it seems to be working fine.
Except I cant figure out what to do to set up EF Code First and the docs seem to be outdated.
My project has a MyApp.DAL project where the EF stuff lives.
What do I need to do to start profiling EF? please help?
UPDATE:
I have installed MiniProfiler.EF 2.0.2 and now I get
Could not load file or assembly 'EntityFramework, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Have you made sure to install the EF package from Nuget?
http://nuget.org/packages/MiniProfiler.EF
PM> Install-Package MiniProfiler.EF
i've "fixed" it by simply adding EF to my Web Project
This is not ideal but it will do for now.
Related
I can not use the SqlType provider due to an issue with Microsoft.Bcl.AsyncInterfaces.
I am using a minimal program with .NET 4.7.2 and F# 4.7.0.0.
My Nuget packages contain a reference to:
package id="Microsoft.Bcl.AsyncInterfaces" version="1.0.0"
targetFramework="net472"
Severity Code Description Project File Line Suppression State
Error FS3033 The type provider 'FSharp.Data.Sql.SqlTypeProvider'
reported an error: Unable to load one or more of the requested types.
Retrieve the LoaderExceptions property for more information. Details:
Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or
one of its dependencies. Das System kann die angegebene Datei nicht
finden. TestSqlProvider C:\Users\weism\source\repos\TestSqlProvider\TestSqlProvider\Program.fs 9 Active
What can I do to fix this issue?
For me, installing the Microsoft.Bcl.AsyncInterfaces (Nuget package) fixed the issue.
This error also happens when you try using Microsoft.EntityFrameworkCore v5 in a dotnet core v3.1 project.
To resolve, down-version Microsoft.EntityFrameworkCore to latest v3 version.
For .Net Core, This problem basically occur , when we use layered architecture. Just make sure the version of Microsoft.EntityFrameworkCore should be same in all project, wherever it is used.
I don't use Microsoft.Bcl.AsyncInterfaces at all in my .NET 4.8 project. Some library depends on version 1.0.0.0. I resolved the issue using a binding redirect:
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
Microsoft.Bcl.AsyncInterfaces.dll 5 was copied to Bin after build.
I think you update package in one layer.
for me i worked in project with three layers (api, AdminTool, Data) the AdminTool Layer had a reference to Data Layer i updated all packages in AdminTool only so i had this error i update package also in data layer and api layer so the problem solved.
I hope that help you.
My Entity Framework Core just needed upgraded
TO
Make sure you have unique single version of that dll. Another step would be to add a binding redirect in the app.config as told in the above comments.
Check in your installed nuget packages---
If version of Microsoft.EntityFrameworkCore and your .net project is different then it can be a problem.
Example - If EntityFrameworkCore is at v5.1.5 or higher & your project dotnet core v3.1 project, this can be the issue.
To solve,
down-version Microsoft.EntityFrameworkCore to equal version of project such as v3 version. to down version click on tool in visual studio -->Nuget Package Manager--> Manage Nuget package for Solutions --> click on installed ---> select nuget package which you want to downgrade --> click on uninstall and then select the same nuget package and then install version 3.1.5 or relevent package.
or
Install Microsoft.Bcl.AsyncInterfaces (Nuget package)
Updating the Microsoft.Bcl.AsyncInterfaces assembly via NuGet did everything it needed to do, including adding the bindingRedirect entries in the appropriate config files.
I also did all the other hygienics. I cleaned my solution, deleted the bin and obj directory entries, and also cleaned my localhost deploy locations.
However, I still got this error. I reviewed the output (my application is a .NET 4.8 MVC Web application, so the web page showed the error log in detail), and I found that it was failing on loading SimpleInjector.
I updated SimpleInjector to the latest version via NuGet and that fixed my error.
Unfortunately, I didn't keep a copy of the error page, so I can't show you what I saw, but the bottom line is to examine the output or log in detail, see if you can find where the application is attempting to load the assembly that is failing, and update that assembly that appears to be calling the load.
I was able to fix it by removing <Private>True</Private> from csproj for Microsoft.Bcl.AsyncInterfaces. Just reinstall this NuGet package
Could not load file or assembly 'System.IdentityModel.Tokens.Jwt,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or
one of its dependencies. The located assembly's manifest definition
does not match the assembly reference. (Exception from HRESULT:
0x80131040)
I have somehow returned to DLL hell.
I have an asp.net MVC app that I want to deploy via our CI:
TeamCity (2017.1.3) with the Octopusplugin (TeamCity Plugin)
Octopus deploying to azure website app
I've gotten this same pipeline to work for other web apps, but for this one MVC app that utilizes System.IdentityModel.Tokens.Jwt, version 4.0.4.403061554.
I run the app locally, and the FileAssembly version referenced is 4.0.4.403061554 as expected. However, when team city builds the nuget package, and I download and extract it, the System.IdentityModel.Tokens.Jwt file assembly version is set to 5.1.4.216 which is not what I am expecting.
I've drilled through all of my packages deplendencies, none are referencing this version of the dll.
I have searched through all of my files for any refernece of 5.1.4, nothing exists.
I have also checked the feature to Disable looking up packages from local machine cache when refreshing packages in TeamCity.
There is not a straight answer here, however a couple thoughts which could hopefully help in the right direction.
Maybe there is a lower level dependency to this package in any other project or nuget package, which gets built together and as a result the latest version gets into build directory? Just noted that the 5.1.4 is the latest version of System.IdentityModel.Tokens.Jwt.
I presume you employ BindingRedirect to version 4. Have there been braking changes? Could you not switch to using the latest version?
Have you looked in the build folder of the build server? Maybe you could narrow down the project/folder with the version 5.1.4?
We have an ASP.NET MVC 4 solution with a couple of references that has been building without problems for about 2 years now. However, after installing KB2993928 and KB2993937 this morning, we cannot run FxCop on this solution on our Windows 7 machines anymore.
I have a feeling this is because this update changed the DLL version of the System.Web.Mvc assembly in the GAC. This is because in the GAC I can currently find 3 different System.Web.Mvc DLLs, which are all updated today.
The error we receive in the build is as follows:
6>MSBUILD : error : CA0001 : The following error was encountered while reading module 'FrontEnd.Implementation': Assembly reference cannot be resolved: System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35. [C:\Project\FrontEnd\02-Implementation\02-Implementation.csproj]
6>MSBUILD : error : CA0058 : The referenced assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' could not be found. This assembly is required for analysis and was referenced by: S:\Deliverables\FrontEnd\bin\FrontEnd.Implementation.dll. [C:\Project\FrontEnd\02-Implementation\02-Implementation.csproj]
Since we use ASP.NET MVC 4, this version 3.0 DLL is referenced indirectly by one of our references. For instance, RazorGenerator references version 3.0.0.0. Possibly others as well. There is no new version of RazorGenerator from what I can tell.
The System.Web.Mvc versions I see in the GAC are: 3.0.50813.1, 4.0.40804.0 and 5.0.20821.0.
I removed the reference to System.Web.Mvc from our projects and added Mvc as a NuGet package instead. This fixes our compilation, but FxCop still doesn't work due to the indirect references.
If any additional information is required please let me know.
If this issue is caused by references which in turn have dependencies on those specific assemblies, you can remedy this by coercing FxCop to use only the StrongName and ignore the version number. This solution is described here.
Of course the real solution would be to update the referenced assemblies (with the indirect dependencies) to newer versions.
Solution:
Uninstall the MVC Framework via "Programs and Features" (whichever version you're using)
Re-install MVC Framework (http://www.asp.net/mvc/mvc4)
Should fix the problem - no changes to the build/solutions is required.
This was done by a security update on October 15th from Windows Update. You will need to run the updates on your build servers too.
Link to update:
http://www.microsoft.com/en-ie/download/details.aspx?id=44533
This update fixes other versions as well.
You will likely have to update your projects to the newer version, as it changes the version number and removes the older version completely.
Remove any references to System.Web.MVC and then re-add them by manually browsing to the dll (C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Web.Mvc\v4.0_5.1.0.0__31bf3856ad364e35\System.Web.MVC.dll on our machine). A lot faster than re-installing MVC if this has just taken your production server down!
The security updates update the assembly version of system.web.mvc.dll. You need to update your csproject to correct the version. Check this post:
ASP.NET MVC security patch to version 3.0.0.1 breaks build
I used the following solution and it's work perfectly:
https://stackoverflow.com/a/26490590
(don't forget to select the default project on the Package Manager Console for each project with the build failed)
By Mistake i updated my references and it affected the identity.framework , i did some research and it's totally a new different version and i need to do a lot of things to make it work, so i decided to switch back to version 1.0.0.0 which worked good for me. but now i got this error message:
error 0004: Could not load file or assembly 'Microsoft.AspNet.Identity.EntityFramework, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
After 8 hours troubleshooting this problem i finally figured out what was the problem.
The error message is a little misleading , because the problem is not about Microsoft.AspNet.Identity.EntityFramework itself but it was about "one of its dependencies" . it was the EF. i had three projects and each project on the solution has a different version of the EF . 6.0.0,6.0.1 and 6.1.0 i think . I uninstalled all of them and left the version 6.0.0 and it works fine now.
I have an ASP.NET MVC4 project which builds in TFS. Since adding the MiniProfiler to the project, the builds fail as follows:
CA0001 : The following error was encountered while reading module 'MiniProfiler':
Assembly reference cannot be resolved: System.Web.Mvc, Version=3.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35.
CA0058 : The referenced assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35' could not be found. This assembly is required for
analysis and was referenced by: D:\Builds\...\my.dll,
D:\...\packages\MiniProfiler.2.0.2\lib\net40\MiniProfiler.dll.
DotPeek shows me that MiniProfiler does indeed reference System.Web.Mvc Version 3.0.0.0
Has anyone run into this issue? Is there a solution?
I would install MVC3 on the build server, however I don't have admin permission to do it. Someone can do it for me next week but if possible I'd like to avoid that.
The cause of this was actually Code Analysis. We had analysis set to run on build, and the build server was not able to load the needed assemblies during analysis for some reason. I am still not sure of the root cause, but turning off code analysis solved the problem.