Freigeben über


Erstellen von Apps für Microsoft.NETFramework.ReferenceAssemblies

Wenn Sie auf eine bestimmte Version von .NET Framework abzielen, wird Ihre Anwendung standardmäßig mithilfe der Referenzassemblys erstellt, die im Entwicklerpaket dieser Version enthalten sind. In Szenarien, in denen das entsprechende Entwicklerpaket nicht auf dem Computer installiert werden kann, können Sie stattdessen anhand von Referenzassemblys erstellen, die über ein NuGet-Paket verteilt werden.

Aktualisieren von Projektdateien

Jedes Projekt, das für die Verweisassemblys des NuGet-Pakets erstellt werden soll, muss einen Verweis auf Microsoft.NETFramework.ReferenceAssemblies enthalten.

Projekte, die eine packages.config Datei verwenden, sollten folgendes in packages.configenthalten.

<packages>
  <package id="Microsoft.NETFramework.ReferenceAssemblies" version="1.0.3" developmentDependency="true" />
</packages>

Projekte, die die <PackageReference> MSBuild-Eigenschaft verwenden, sollten die folgende Eigenschaft in der Projektdatei enthalten.

<ItemGroup>
  <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="All" />
</ItemGroup>

Sdk-Formatprojekte enthalten diesen Verweis standardmäßig. Für typische .NET Framework-Projekte, die mit Visual Studio erstellt wurden, können Sie den Verweis mithilfe der NuGet-Paket-Manager-Benutzeroberfläche in Visual Studio hinzufügen. Das Paket enthält Referenzassemblys für viele Versionen von .NET Framework. Die tatsächlich verwendete Version wird durch die TargetFrameworkVersion- oder TargetFramework-Eigenschaft bestimmt, wie im Projektdatei bereits definiert.

Wiederherstellen des Projekts

Projekte, die einen Paketverweis enthalten, müssen wiederhergestellt werden, bevor sie erstellt werden können.

Nachdem Sie das NuGet-Paket "Microsoft.NETFramework.ReferenceAssemblies NuGet" zu Ihrem Projekt hinzugefügt haben, müssen Sie die Wiederherstellungsaktion auf eine der folgenden Arten explizit ausführen:

  • Wenn Es sich bei Ihrem Projekt um ein Nicht-SDK-Projekt handelt und die packages.config-Datei verwendet, um auf NuGet-Pakete zu verweisen:

    1. Installieren Sie das NuGet CLI-Tool, und stellen Sie sicher, dassnuget.exe sich in der PATH Umgebungsvariable befindet.
    2. Öffnen Sie eine Eingabeaufforderung.
    3. Navigieren Sie zu dem Verzeichnis, das Ihre Projektdatei enthält.
    4. Führen Sie nuget.exe restore aus.
  • Wenn Es sich bei Ihrem Projekt um ein Nicht-SDK-Projekt handelt und <PackageReference> Einstellungen in der Projektdatei verwendet werden, um auf NuGet-Pakete zu verweisen:

    1. Öffnen Sie die Eingabeaufforderung für Entwickler für VS 2022. Der Name dieser App kann je nach installierter Version von Visual Studio unterschiedlich sein.
    2. Navigieren Sie zu dem Verzeichnis, das Ihre Projektdatei enthält.
    3. Führen Sie msbuild /t:restore aus.
  • Wenn Es sich bei Ihrem Projekt um ein SDK-Projekt handelt, müssen Sie nichts tun. Die NuGet-Wiederherstellungsaktion wird automatisch ausgeführt, wenn das Projekt erstellt wird.

Von Bedeutung

Die Verwendung von Referenzassemblys ermöglicht das Erstellen von Projekten, die nicht unterstützte Versionen von .NET Framework über die Befehlszeile verwenden. Sie können diese Projekte jedoch immer noch nicht in neueren Versionen von Visual Studio laden. Um mit dem Erstellen dieser Apps in Visual Studio fortzufahren, besteht die einzige Problemumgehung darin, eine ältere Version von Visual Studio zu verwenden.