Ich versuche, alle Projekte meine C#, um neue Nuget Automatische Wiederherstellung nach diesem Tutorial zu migrieren: Migrating MSBuild-Integrated solutions to use Automatic Package RestoreNuget Automatische für WebSite
Ich habe es erfolgreich getan zu meinem Desktop/Bibliotheken Projekte, die ich musste bearbeiten CSPROJ Dateien, diese Zeilen aus ihr zu entfernen (ich verwende TFS nicht):
<RestorePackages>true</RestorePackages>
...
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
...
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
jedoch WebSites scheinen keine CSPROJ oder jede andere Datei zu haben, diese Anweisungen enthalten. Wenn ich ein Paket installiere, platziere es erfolgreich die .dll in meinem Paket-Ordner, aber es wird auch in den bin-Ordner gelegt. Wenn ich die DLL unter/bin im Projektmappen-Explorer auswählen, hat es die folgenden Eigenschaften:
Auto-refresh path: C:\mypackages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll
File Name: Newtonsoft.Json.dll
Full Path: C:\MyWebSite\Bin\Newtonsoft.Json.dll
Dieser Standard ist gesetzt, wenn ich zum ersten Mal ein Paket von nuget installieren. Ich denke, es sollte nicht in bin Ordner suchen, oder wenn ich das Projekt erstellen, sollte es die DLL in den Ordner bin, wenn es nicht existiert. Das Problem ist, wenn ich das Projekt ohne die DLL in bin erstellen, gibt es mir den folgenden Fehler: "Der Typ oder Namespace-Name 'Newtonsoft' konnte nicht gefunden werden (fehlt Ihnen eine Verwendungs-Richtlinie oder eine Assembly-Referenz?)". Bei Desktop-/Bibliotheksprojekten wird die DLL in den Ordner bin kopiert.
Ich lese in einer anderen Frage Nuget unterstützt nicht WebSite, sondern Web-Anwendungen stattdessen: NuGet Package restore for website, aber ich habe auch in Nuget-Seite gelesen, dass sie Kompatibilität mit ASP.NET-Websites hinzugefügt haben, so hier ist meine Frage: Bin ich etwas falsch machen? Oder sollte ich zur Webanwendung migrieren, weil sie überhaupt keine Websites unterstützt?
WAP ist definitiv der Weg zu gehen. Websites sind viel begrenzter und haben nicht wirklich viele Vorteile, wenn Sie VS verwenden. Beachten Sie, dass mit der Veröffentlichung von ASP.NET 5 das Beste aus beiden Welten kombiniert wird. Ich habe NuGet mit Websites in der Vergangenheit verwendet, aber gut. – mason