Der Typ- oder Namespace-Name ist im Namespace 'System.Web.Mvc' nicht vorhanden.

217

Der Kauf der MVC3-Lösung lief gut, es ist jedoch ein Fehler im Browser aufgetreten:

Compiler-Fehlermeldung: CS0234: Der Typ- oder Namespace-Name 'Html' ist im Namespace 'System.Web.Mvc' nicht vorhanden (fehlt Ihnen eine Assembly-Referenz?)

Source Error:
Line 25:         <add namespace="System.Web.Mvc" />
Line 26:         <!--<add namespace="System.Web.Mvc.Ajax" />-->
Line 27:         <add namespace="System.Web.Mvc.Html" />
Line 28:         <add namespace="System.Web.Routing" />
Line 29:         <add namespace="System.Web.WebPages" />

Ich habe Pakete für die Lösung mit installiert NuGetund für alle Projekte eingerichtet MVC3. Does MVC3gehören Bibliotheken System.Web.Mvc.Ajax, System.Web.Mvc.Htmlund andere? Warum erhalte ich den Fehler?


Im Ordner "Referenzen" habe ich System.Web.Mvc

Runtime version: v4.0.30319,

Version: 3.0.0.0

Web.config

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=152368
  -->
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
    <add key="webpages:Version" value="1.0.0.0" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="2880" />
    </authentication>
    <pages>
      <namespaces>
        <add namespace="System.Web.Helpers" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages" />
      </namespaces>
    </pages>
    <httpRuntime targetFramework="4.5" encoderType="System.Web.Security.AntiXss.AntiXssEncoder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    <machineKey compatibilityMode="Framework45" />
    <profile defaultProvider="DefaultProfileProvider">
      <providers>
        <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
      </providers>
    </profile>
    <membership defaultProvider="DefaultMembershipProvider">
      <providers>
        <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
      </providers>
    </membership>
    <roleManager defaultProvider="DefaultRoleProvider">
      <providers>
        <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
      </providers>
    </roleManager>
    <sessionState mode="InProc" customProvider="DefaultSessionProvider">
      <providers>
        <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
      </providers>
    </sessionState>
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
  </system.webServer>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>
  <connectionStrings>
    <add name="EFDbContext" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=SportStore;Integrated Security=True;Pooling=False;" providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>

MSDN der System.Web.Mvc-Namespace

Datei packages.config:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="EntityFramework" version="5.0.0-rc" />
  <package id="jQuery" version="1.7.2" />
  <package id="jQuery.UI.Combined" version="1.8.11" />
  <package id="jQuery.Validation" version="1.9" />
  <package id="Microsoft.AspNet.Mvc" version="3.0.20105.1" />
  <package id="Microsoft.AspNet.Providers.Core" version="1.0" />
  <package id="Microsoft.AspNet.Providers.LocalDB" version="1.0" />
  <package id="Microsoft.AspNet.Razor" version="1.0.20105.408" />
  <package id="Microsoft.AspNet.WebPages" version="1.0.20105.408" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" />
  <package id="Modernizr" version="2.0.6" />
  <package id="Moq" version="4.0.10827" />
  <package id="Ninject" version="3.0.1.10" />
</packages>
J. Olufsen
quelle
1
Was ist Ihr Webserver? ist das in iis?
Daniel A. White
Express IIS in Visual Studio 2012
J. Olufsen
1
Was ist das Ziel Ihres Projekts?
Daniel A. White
2
Hängt davon ab, wer diese Frage beantwortet - dies ist alles, was einige von uns benötigen, um Nuget-Pakete für die Lösung zu verwalten ... >> Updates
Tom Stickel

Antworten:

420

Bereinigen Sie Ihre Lösung und setzen Sie die Eigenschaft dieser Dateien auf Copy Local = True.

So setzen Sie die Copy Local-Eigenschaft auf True oder False

Klicken Sie im Projektmappen-Explorer auf die Schaltfläche Alle Dateien anzeigen, um den Knoten Referenzen anzuzeigen.

  • Öffnen Sie den Knoten Referenzen für das Projekt.
  • Klicken Sie mit der rechten Maustaste auf eine Referenz in der Referenzliste, und klicken Sie auf Eigenschaften. Die mit dieser Referenz verknüpften Eigenschaften werden in einer Liste im Eigenschaftenfenster angezeigt.
  • Ändern Sie im Eigenschaftenfenster die Eigenschaft "Lokal kopieren" in "Wahr" oder "Falsch".
Toffee
quelle
11
Genial! Dies hat es für mich bei einem MVC4-Projekt behoben. Es ist offensichtlich, wenn man darüber nachdenkt. Ich habe das bereitgestellte Projekt nie überprüft, um festzustellen, ob die DLLs vorhanden sind.
Alex Kilpatrick
1
Vielen Dank! Das hat mir auch geholfen!
Maritim
1
Bitte. Manchmal werden komplexe Probleme durch einfache Lösung gelöst. :)
Toffee
5
Es klappt! Ich ändere nur eine Referenz =>System.Web.Mvc
Jaider
5
Ich habe eine Weile gebraucht, um herauszufinden, was "diese Dateien" bedeuten. Durchsuchen Sie die Assembly-Referenzen für jedes Projekt in der Lösung. Alles, was im Pfad "Microsoft ASP.NET \ ASP.NET MVC 3 \ Assemblies" oder ähnliches enthält, ist Teil des Problems.
Aufgabe
60

Aus irgendeinem Grund haben ZWEI meiner Lösungen Webprojekte, die asp.net MVC spontan irgendwie deinstalliert haben. Ich habe es von Nuget installiert und jetzt funktionieren beide wieder. Dies geschah nach einer Reihe von Windows-Updates, die .NET Framework-Updates für die von mir verwendete Version (4.5.1) enthielten.

Bearbeiten: Aus dem .Net Web Development and Tools-Blog:

Microsoft Asp.Net MVC-Sicherheitsupdate MS14-059 hat meinen Build beschädigt!

Chris
quelle
4
Das ist mir gerade passiert. Ich habe jedoch meine MVC-Pakete aktualisiert, anstatt sie neu zu installieren (meine waren sowieso veraltet). Gibt es eine Quelle oder einen Grund, warum dies passiert ist?
Joshua H
5
Dies scheint mit KB2994379 oder KB2992080 in Zusammenhang zu stehen , je nachdem , auf welche MVC-Version Sie verweisen (5.1 bzw. 5.0). Das Update liefert eine neue Version von System.Web.Mvc, von der ich annehme, dass sie einen Versionskonflikt einführt. Durch das Aktualisieren Ihres MVC-Pakets wird der Fehler behoben. Wenn Sie aus irgendeinem Grund nicht aktualisieren können, müssen Sie die System.Web.Mvc.dll so einstellen, dass sie lokal kopiert wird.
Vinney Kelly
1
Ich hatte das gleiche Problem. Aktualisieren Sie das Paket und setzen Sie copy local = true. Vielen Dank an alle !!!!
Vackup
1
MVC Copy local = true +1.
Stanomatic
4
Das gleiche ist mir passiert. Musste MVC so einstellen, dass local = FALSE kopiert, neu erstellt, local = TRUE kopiert, neu erstellt wird. Alles gut.
Jeppebm
38

Dieser fängt mich normalerweise auf, wenn ich von IIS aus laufe und der App-Pool für die Standardwebsite auf .NET Version 2.0 eingestellt ist. Bei Verwendung von IIS aus Visual Studio wird ein virtuelles Verzeichnis erstellt, das jedoch weiterhin im App-Pool der Standardwebsite ausgeführt wird. Wenn Sie den integrierten Webserver verwenden, klicken Sie mit der rechten Maustaste auf Ihr Webprojekt, gehen Sie zu Eigenschaften und stellen Sie sicher, dass Sie es unter der richtigen Version von .NET ausführen. Überprüfen Sie unter IIS die .NET-Version in Ihrem App-Pool.

Nach meinem letzten Kommentar zur Erstellung des Projekts - schließen Sie die Assemblys wie folgt korrekt ein (entnommen aus der Standarddatei web.config, die von der MVC3-Projektvorlage in VS10 generiert wurde):

<compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </assemblies>
</compilation>
BlackSpy
quelle
2
Alle Projekte verwenden .NET Framework 4.5. Bedeutet dies, dass .NET 4.5 System.Web.Mvc.Ajax und andere Klassen nicht finden kann?
J. Olufsen
Normalerweise bedeutet dies, dass es auf 4.5 ausgeführt wird, aber tatsächlich als etwas anderes ausgeführt wird, was bedeutet, dass System.Web.Mvc.Ajax in System.Web.Mvc nicht gefunden werden kann.
BlackSpy
Was ist Ihre System.Web.dll-Version? Ich frage Sie, dass Sie gesagt haben, Sie hätten die Assemblys von NuGet hinzugefügt. Haben Sie kein MVC3-Webprojekt erstellt?
BlackSpy
31

Sie müssen MVC aktualisieren.

  1. Gehen Sie zu Tools -> NuGet Package Manager -> NuGet Packages for Solution verwalten
  2. Klicken Sie auf "Updates"
  3. Update "Microsoft ASP.NET MVC"
  4. Lösung neu erstellen
Matt
quelle
1
Die Verwendung des NuGet-Pakets ist gut, es kann jedoch eine Menge anderer Assembles heruntergeladen werden, die möglicherweise nicht benötigt werden. Dies wird jedoch das Problem beheben.
Leinwand
1
Hatte das gleiche Problem, habe etwas Kopfgeld.
Nit
28

Ich hatte das gleiche Problem - mein Szenario war, dass ich auf die neue System.Web.Mvc.dll aus einem lib-Ordner verwies und "Copy Local" nicht auf "true" gesetzt hatte. Die Anwendung kehrte dann zu der Version im GAC zurück, die nicht die richtigen Namespaces (HTML, Ajax usw.) enthielt, und gab mir den Laufzeitfehler.

Peter Munnings
quelle
16

Meine Lösung befand sich unter Verwalten von Nuget-Paketen für Lösung ... - Ich musste unzählige Updates für einige Pakete durchführen.

Lassen Sie mich einen halben Schritt zurückgehen und sagen, dass ich mich selbst verarscht habe, weil ich die Lösung und die Projekte von einem Ordner in einen anderen verschoben habe. Alles lief gut, aber anscheinend wird Nuget verwirrt, es sei denn, Sie verwenden einen anderen Ansatz als ich.

Zurück zur Lösung ... Ich ging einfach zu Nuget-Pakete für Lösung verwalten ... >> Updates >> Microsoft und .NET und klickte auf die Schaltfläche Alle aktualisieren .

Alles war wieder normal und glücklich.

azarc3
quelle
Ich habe die gleiche Lösung gepostet, nachdem ich versehentlich Ihren Beitrag +1 für Sie übersprungen habe
Tom Stickel,
Dies war auch für mich das Problem.
Bradj
Beachten Sie, dass Sie möglicherweise auch JQuery und Bootstrap aktualisieren müssen, nachdem Sie dies getan haben
Carl Onager
Das Aktualisieren der Nuget-Pakete mvc, razor und webpages hat bei einem MVC5-Projekt für mich funktioniert.
Voam
9

Ich habe ein MVC 5-Projekt heruntergeladen und das betreffende Problem darauf hingewiesen

<add namespace="System.Web.Mvc.Ajax" />  

Mit dieser Fehlermeldung:

CS0234: The type or namespace name 'Ajax' does not exist in the namespace 'System.Web.Mvc' (are you missing an assembly reference?)

-> in dem ich auf diese Webseite gekommen bin und ein sauberes und ein paar Dinge oben versucht habe etc ...

Was für mich funktionierte war nur zu

Manage Nuget and Update all the packages.  Then it worked fine.
Tom Stickel
quelle
1
Oh, ich werde mein Posting verlassen, aber ich sehe, dass azarc3 dasselbe sagt. ihn zu stimmen.
Tom Stickel
7

Das Ausführen des folgenden Befehls im Nuget-Paketmanager hat das Problem für mich behoben:

update-package microsoft.aspnet.mvc -reinstall
user1477388
quelle
2
Dies muss noch etwa tausend Mal verbessert werden.
Chazt3n
1
@ Chazt3n Hat bei mir nicht funktioniert, aber es ist ein guter Vorschlag, also + 1
Jared Beach
Ich habe alle anderen Methoden ausprobiert und technisch mit dem Paketmanager deinstalliert und neu installiert und aktualisiert und was nicht. Ich war pessimistisch in Bezug auf diese Antwort, aber verzweifelt. Das hat irgendwie funktioniert.
Mahesh
6

Diese Antwort ist angesichts des Fragendatums ziemlich spät, aber jemand kann sie nützlich finden.

Keine der oben genannten Lösungen funktionierte in Visual Studio 2012 für ein lokales Projekt, Net Framework 4.5 MVC 4. Für den Kontext folgte ich einem Tutorial zum Erstellen einer Barebone-Web-API auf CodeProject ( http://www.codeproject.com/). Artikel / 615805 / Erstellen eines sauberen minimalen Footprints (ASP-NET-WebAPI ), als ich auf dieses Problem stieß.

Was für mich funktioniert hat, war das explizite Hinzufügen von "System.Web.Mvc" zu den Referenzen meiner Anwendung, obwohl die Anwendung bereits auf "System.Web" verwiesen hat.

Sean
quelle
Vielen Dank. Dies löste mein Problem (obwohl es mit DevExpress.Web.Mvc war)
dferraro
+1. Ich verwende MvcSiteMapProvider und da es nicht mit den neuesten Assemblys von MVC funktioniert, konnte ich kein "Update All" für die Microsoft ASP.Net MVC-Pakete über Nuget durchführen. Ein weiterer Vorschlag ist, dass Sie für diese Assembly wahrscheinlich "CopyLocal = True" ausführen müssen.
user007
Nur erforderlich, um die Debug-Webanwendung in eine neue Umgebung zu verschieben. Muss der Referenz "copy local" hinzufügen.
dudeNumber4
4

Ich hatte das gleiche Problem, aber keines der oben genannten Probleme hat bei mir funktioniert. Sie haben mich jedoch in die richtige Richtung gebracht.

Wenn ich beispielsweise "Copy Local" für die System.Web.Mvc-Referenz auf "true" setze, wird sie automatisch auf "False" zurückgesetzt.

Ich habe mehrere Projekte, die von der System.Web.Mvc-Referenz in meiner Lösung abhängen, aber nur eines hat dieses Problem verursacht. In VS 2012 ist diese Referenz mit dem gelben Aufmerksamkeitsdreieck gekennzeichnet.

Finden Sie diese Referenz => entfernen Sie sie => fügen Sie sie erneut hinzu

Das hat es für mich behoben. Hoffe das hilft

bohem.be
quelle
3

Zeigen Sie die Referenzpfade in Ihrem csproj an und überprüfen Sie sie.

Ich hatte Verweise auf System.Web.Mvc (und andere) entfernt und sie in einen benutzerdefinierten Pfad eingelesen. C:\Project\OurWebReferences

Danach änderte sich jedoch der Referenzpfad im stillen csproj nicht. WAR

<Reference Include="System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\..\..\OurWebProject\bin\Debug\System.Web.Mvc.dll</HintPath>
</Reference>

Geändert zu manuell

<Reference Include="System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
        <HintPath>..\..\..\..\OurWebReferences\System.Web.Mvc.dll</HintPath>
</Reference>

Pfade sind nur ein Beispiel.

Valamas
quelle
3

Für mich bestand die Lösung darin, sicherzustellen, dass alle Projekte für dieselbe CPU erstellt wurden - in meinem Fall x86

Rob Bowman
quelle
2

Copy Local = True wurde für eines meiner Projekte gelöst. Aber in einem anderen Projekt erhalte ich den gleichen Fehler, habe versucht, Copy Local = true zu setzen, aber es löst mein Problem nicht. Das Ändern des Ziel-Frameworks von 4.5.1 auf 4.5 in den Projekteigenschaften half dabei.

Andrey
quelle
2

Ich habe etwas wirklich Dummes getan (und vielleicht hast du es auch getan).

Ich habe versucht anzurufen System.Web.Mvc.Html.Partial("<Partial Page>")

System.Web.Mvc.Html ist ein Namespace und keine Klasse. Ich habe meine Fehlermeldung nicht so gut gelesen und meinen Fehler als Klasse interpretiert Html im Namespace System.Web.Mvc nicht vorhanden ist, und so habe ich geendet hier oben (dumm, ich weiß).

Alles, was ich tun musste, war @using System.Web.Mvc.Html, meiner Seite eine using-Anweisung hinzuzufügen und dann @Html.Partialwie erwartet zu arbeiten.

Jared Beach
quelle
Visual Studio 2015 kennzeichnet die Verwendung als nicht erforderlich. Wenn Sie sie jedoch entfernen lassen, werden folgende Fehler angezeigt: "Der Typ- oder Namespace-Name 'Helpers' ist im Namespace 'Microsoft.Web' nicht vorhanden (fehlen Sie) eine Montagereferenz?) ".
Justdan23
1

Wenn eines der oben genannten Probleme Ihr Problem nicht löst, legen Sie einfach die Eigenschaften von System.Web.Mvc.dll fest, um die lokale Struktur zu kopieren.

es wird sich lösen

Ramakrishna
quelle
1

Ich hatte das gleiche Problem, aber in meinem Fall wurde durch einen anderen Faktor verursacht. Ich schreibe dies, um anderen Menschen mit dem gleichen Problem zu helfen. Ich habe eine Lösung mit mehreren Projekten. Zwei von ihnen arbeiten mit System.Web.Mvc. Normalerweise zeigte unsere Referenz auf externe Pakete, in denen wir die verwendete Version kontrollierten. Aus irgendeinem Grund geht eine der Projektreferenzen zu GAC und zeigt auf die GAC-DLL (Version 4.0.0.1), und das Programm hat den Fehler erhalten. Um es zu korrigieren:

Einfache Überprüfung, ob die Verweise auf System.Web.Mvc auf dieselbe DLL im selben Verzeichnispfad verweisen.

Ich hoffe das hilft.

freedeveloper
quelle
1

Ich habe System.Web.dll aus dem Bin-Frolder meiner Site gelöscht.

andre719mv
quelle
Ich bin mein Fall ja. Ich habe ohne MVC zu einem alten Zweig gewechselt. Und System.Web.dll im Ordner Bin hat mein Bild kaputt gemacht.
andre719mv
1

Ich hatte dieses Problem, das Ein- und Ausschalten der lokalen Kopie usw. funktionierte nicht. Das Projekt verwendete kein Nuget, daher kamen auch Korrekturen nicht in Frage.

Das Update für mich war die Installation von MVC 3 (was ich über das Webplattform-Installationsprogramm getan habe).

Ich vermute, dass dies eher eine Lösung für Leute sein wird, da das .net-Framework weiter voranschreitet und die Leute das ältere MVC-Zeug nicht installiert haben.

4imble
quelle
1

Es ist wahrscheinlich, dass das Setzen Ihrer DLL auf CopyLocal / true oder eine der anderen wichtigen Korrekturen Ihr Problem behebt, aber hier ist ein weiterer Randfall, der mich 20 Minuten lang verschwendet hat.

Wenn Sie Ihre Namespaces zu Views / Web.config hinzufügen, stellen Sie sicher, dass sie korrekt in Groß- und Kleinschreibung geschrieben sind:

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="THE.NameSpace" />
        <add namespace="THE.Namespace" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>
Mobys Stunt Double
quelle
1

Ok, so viele Leute scheinen dieses Problem zu haben. Mein Problem wurde durch Verweise mit Pfaden zu den Bin-Ordnern anderer Projekte oder durch Verweise auf DLLs aus Systemordnern verursacht. Das Projekt war ungefähr 6 Jahre alt und die vorherigen Entwickler hatten entschieden, dass sie auf diese Weise auf ihre Bibliotheken verweisen würden.

Die Lösung bestand darin, jede Referenz durchzugehen und die Pfade zu überprüfen, dann die Referenz zu entfernen und sie mit NuGet hinzuzufügen. Für jedes Paket, das nicht auf NuGet war, habe ich neben Paketen einen weiteren Ordner erstellt und die DLL dort im gleichen Layout wie NuGet abgelegt.

Ich musste auch die Konfigurationsdateien durchgehen und sicherstellen, dass die richtige Version der Pakete verwendet wurde. Ein langer und schmerzhafter Prozess!

John
quelle
1

Ich habe ein Projekt, das dies immer dann tut, wenn ich mit geöffneter Ansicht baue. Sobald ich die Ansicht geschlossen habe, verschwindet der Fehler und der Build ist erfolgreich. Sehr eigenartig.

Mark gut
quelle
0

Ich hatte das gleiche Problem, keine der Lösungen funktionierte für mich. Schließlich entfernte ich die System.Web.MVCund fügte wieder hinzu. Dann war alles wieder normal und mein Problem gelöst.

Sirwan Afifi
quelle