Erweiterungen des CSPROJ-Formats für .NET CoreAdditions to the csproj format for .NET Core

In diesem Dokument werden die Änderungen erläutert, die an die Projektdateien beim Wechsel von project.json auf csproj und MSBuild hinzugefügt wurden.This document outlines the changes that were added to the project files as part of the move from project.json to csproj and MSBuild. Weitere Informationen über die allgemeine Projektdateisyntax und eine Referenz finden Sie in der Dokumentation zur MSBuild-Projektdatei.For more information about general project file syntax and reference, see the MSBuild project file documentation.

Implizite PaketverweiseImplicit package references

Es wird implizit auf Metapakete verwiesen, basierend auf der Grundlage des/der Zielfameworks, das/die in der <TargetFramework>- oder <TargetFrameworks>-Eigenschaft Ihrer Projektdatei angegeben wurde/n.Metapackages are implicitly referenced based on the target framework(s) specified in the <TargetFramework> or <TargetFrameworks> property of your project file. <TargetFrameworks> wird ignoriert, wenn <TargetFramework> angegeben wird, egal wie die Reihenfolge ist.<TargetFrameworks> is ignored if <TargetFramework> is specified, independent of order.

 <PropertyGroup>
   <TargetFramework>netcoreapp1.1</TargetFramework>
 </PropertyGroup>
<PropertyGroup>
  <TargetFrameworks>netcoreapp1.1;net462</TargetFrameworks>
</PropertyGroup>

EmpfehlungenRecommendations

Da implizit auf die Microsoft.NETCore.App- oder NetStandard.Library-Metapakete verwiesen wird, sehen Sie im Folgenden unsere empfohlenen bewährten Methoden:Since Microsoft.NETCore.App or NetStandard.Library metapackages are implicitly referenced, the following are our recommended best practices:

  • Wenn Sie .NET Core "oder" Standard ".NET verwenden zu können, müssen Sie keine keinen expliziten Verweis auf die Microsoft.NETCore.App oder NetStandard.Library Metapackages über eine <PackageReference> Element in der Projektdatei.When targeting .NET Core or .NET Standard, never have an explicit reference to the Microsoft.NETCore.App or NetStandard.Library metapackages via a <PackageReference> item in your project file.
  • Wenn Sie eine bestimmte Version der Laufzeit benötigen, wenn .NET Core als Ziel haben, sollten Sie verwenden die <RuntimeFrameworkVersion> -Eigenschaft im Projekt (z. B. 1.0.4) anstelle von Verweisen auf die Metapackage.If you need a specific version of the runtime when targeting .NET Core, you should use the <RuntimeFrameworkVersion> property in your project (for example, 1.0.4) instead of referencing the metapackage.
  • Wenn Sie eine bestimmte Version von benötigen der NetStandard.Library Metapackage, wenn .NET Standard verwenden, können Sie die <NetStandardImplicitPackageVersion> Eigenschaft, und legen die Version, die Sie benötigen.If you need a specific version of the NetStandard.Library metapackage when targeting .NET Standard, you can use the <NetStandardImplicitPackageVersion> property and set the version you need.
  • Nicht explizit hinzugefügt oder aktualisieren Sie Verweise auf entweder dem Microsoft.NETCore.App oder NetStandard.Library Metapackage in .NET Framework-Projekten.Don't explicitly add or update references to either the Microsoft.NETCore.App or NetStandard.Library metapackage in .NET Framework projects. Wenn eine beliebige Version von NetStandard.Library ist erforderlich, wenn diese Version mit einer standardmäßigen .NET basierende NuGet-Paket NuGet automatisch installiert werden.If any version of NetStandard.Library is needed when using a .NET Standard-based NuGet package, NuGet automatically installs that version.

Standardkompilierung in .NET Core-ProjektenDefault compilation includes in .NET Core projects

Beim Wechsel zum csproj-Format in den neuesten SDK-Versionen, haben wir die Standardaufnahmen- und ausschlüsse für Compile-Elemente und eingebettete Ressourcen zu den SDK-Eigenschaftendateien verschoben.With the move to the csproj format in the latest SDK versions, we've moved the default includes and excludes for compile items and embedded resources to the SDK properties files. Dies bedeutet, dass Sie diese Elemente nicht länger in Ihrer Projektdatei angeben müssen.This means that you no longer need to specify these items in your project file.

Der Hauptgrund dafür ist die Übersichtlichkeit in Ihrer Projektdatei.The main reason for doing this is to reduce the clutter in your project file. Die Standardeinstellungen im SDK sollten die gängigen Anwendungsbeispiele abdecken. Es besteht keine Notwendigkeit, sie in jedem Projekt zu wiederholen, das Sie erstellen.The defaults that are present in the SDK should cover most common use cases, so there is no need to repeat them in every project that you create. Dies führt zu kleineren Projektdateien, die viel einfacher zu verstehen und bei Bedarf auch manuell zu bearbeiten sind.This leads to smaller project files that are much easier to understand as well as edit by hand, if needed.

Die folgende Tabelle zeigt, welche Elemente und welche Globs im SDK enthalten und ausgeschlossen sind:The following table shows which element and which globs are both included and excluded in the SDK:

ElementElement Glob einschließenInclude glob Glob ausschließenExclude glob Glob entfernenRemove glob
CompileCompile **/*.cs (oder andere Spracherweiterungen)**/*.cs (or other language extensions) **/*.user; **/*.*proj; **/*.sln; **/*.vssscc**/*.user; **/*.*proj; **/*.sln; **/*.vssscc Nicht zutreffendN/A
EmbeddedResourceEmbeddedResource **/*.resx**/*.resx **/*.user; **/*.*proj; **/*.sln; **/*.vssscc**/*.user; **/*.*proj; **/*.sln; **/*.vssscc Nicht zutreffendN/A
KeineNone **/* **/*.user; **/*.*proj; **/*.sln; **/*.vssscc**/*.user; **/*.*proj; **/*.sln; **/*.vssscc - **/*.cs; **/*.resx- **/*.cs; **/*.resx

Wenn Sie über Globs in Ihrem Projekt verfügen, und Sie versuchen, es mit dem neuesten SDK zu erstellen, erhalten Sie den folgenden Fehler:If you have globs in your project and you try to build it using the newest SDK, you'll get the following error:

Doppelte Compile-Elemente waren enthalten.Duplicate Compile items were included. .NET SDK enthält Compile-Elemente aus Ihrem Projektverzeichnis in der Standardeinstellung.The .NET SDK includes Compile items from your project directory by default. Sie können diese Elemente aus Ihrer Projektdatei entfernen oder die Eigenschaft „EnableDefaultCompileItems“ auf „FALSE“ festlegen, wenn Sie sie explizit in Ihrer Projektdatei einfügen möchten.You can either remove these items from your project file, or set the 'EnableDefaultCompileItems' property to 'false' if you want to explicitly include them in your project file.

Um diesen Fehler zu umgehen, können Sie entweder die expliziten Compile-Elemente entfernen, die mit denen übereinstimmen, die in der vorherigen Tabelle aufgeführt sind, oder Sie können die <EnableDefaultCompileItems>-Eigenschaft auf false wie folgt festlegen:In order to get around this error, you can either remove the explicit Compile items that match the ones listed on the previous table, or you can set the <EnableDefaultCompileItems> property to false, like this:

<PropertyGroup>
    <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
</PropertyGroup>

Wenn diese Eigenschaft auf false festgelegt wird, wird die implizite Aufnahme überschrieben, und das Verhalten wird wieder auf die früheren SDKs gesetzt, als Sie die Standardglobs in Ihrem Projekt angeben mussten.Setting this property to false will override implicit inclusion and the behavior will revert back to the previous SDKs where you had to specify the default globs in your project.

Diese Änderung ändert die Hauptfunktionsweise anderer Aufnahmen nicht.This change does not modify the main mechanics of other includes. Wenn Sie z.B. einige Dateien angeben möchten, die mit Ihrer Anwendung veröffentlicht werden, können Sie weiterhin die bekannten Mechanismen in csproj dafür nutzen (z.B. das <Content>-Element).However, if you wish to specify, for example, some files to get published with your app, you can still use the known mechanisms in csproj for that (for example, the <Content> element).

<EnableDefaultCompileItems>nur deaktiviert Compile Globs jedoch andere Globs, wie die implizite beeinflussen nicht None Glob, die gilt auch für *cs-Elemente.<EnableDefaultCompileItems> only disables Compile globs but doesn't affect other globs, like the implicit None glob, which also applies to *.cs items. Aus diesem Grund Projektmappen-Explorer weiterhin anzeigen *cs-Elemente als Teil des Projekts, das als None Elemente.Because of that, Solution Explorer will continue show *.cs items as part of the project, included as None items. In ähnlicher Weise können Sie <EnableDefaultNoneItems> zum Deaktivieren der impliziten None Glob.In a similar way, you can use <EnableDefaultNoneItems> to disable the implicit None glob.

So deaktivieren Sie alle impliziten Globs, Sie können festlegen, die <EnableDefaultItems> Eigenschaft, um false wie im folgenden Beispiel:To disable all implicit globs, you can set the <EnableDefaultItems> property to false as in the following example:

<PropertyGroup>
    <EnableDefaultItems>false</EnableDefaultItems>
</PropertyGroup>

EmpfehlungRecommendation

Für csproj empfehlen wir, dass Sie die Standardglobs aus Ihrem Projekt entfernen und nur Dateipfade mit Globs für die Artefakte hinzufügen, die Ihre App/Bibliothek für verschiedene Szenarios benötigt (z.B. Runtime und NuGet-Paket).With csproj, we recommend that you remove the default globs from your project and only add file paths with globs for those artifacts that your app/library needs for various scenarios (for example, runtime and NuGet packaging).

Anzeige des gesamten Projekts wie in MSBuildHow to see the whole project as MSBuild sees it

Obwohl diese csproj-Änderungen für eine erhebliche Vereinfachung der Projektdateien sorgen, möchten Sie vielleicht das vollständig erweiterte Projekt anzeigen, so wie es von MSBuild erkannt wird, nachdem das SDK und die zugehörigen Ziele eingeschlossen wurden.While those csproj changes greatly simplify project files, you might want to see the fully expanded project as MSBuild sees it once the SDK and its targets are included. Führen Sie eine Vorverarbeitung des Projekts mit der /pp-Option des Befehls dotnet msbuild durch. Dieser zeigt die importierten Dateien, ihre Quellen und ihren Beitrag zum Build, ohne das Projekt tatsächlich zu erstellen:Preprocess the project with the /pp switch of the dotnet msbuild command, which shows which files are imported, their sources, and their contributions to the build without actually building the project:

dotnet msbuild /pp:fullproject.xml

Wenn das Projekt mehrere Zielframeworks umfasst, sollten nur Ergebnisse für ein Framework ausgegeben werden, indem dieses als MSBuild-Eigenschaft angegeben wird:If the project has multiple target frameworks, the results of the command should be focused on only one of them by specifying it as an MSBuild property:

dotnet msbuild /p:TargetFramework=netcoreapp2.0 /pp:fullproject.xml

ErweiterungenAdditions

SDK-AttributSdk attribute

Das <Project>-Element der .csproj-Datei hat ein neues Attribut namens Sdk.The <Project> element of the .csproj file has a new attribute called Sdk. Sdk gibt an, welches SDK vom Projekt verwendet wird.Sdk specifies which SDK will be used by the project. Das SDK ist, wie das Schichtendokument beschreibt, ein Satz von MSBuild-Aufgaben und -Zielen, die .NET Core-Code erstellen können.The SDK, as the layering document describes, is a set of MSBuild tasks and targets that can build .NET Core code. Wir liefern zwei Haupt-SDKs mit .NET Core-Tools:We ship two main SDKs with the .NET Core tools:

  1. Das .NET Core SDK mit der Microsoft.NET.Sdk-IDThe .NET Core SDK with the ID of Microsoft.NET.Sdk
  2. Das .NET Core Web-SDK mit der Microsoft.NET.Sdk.Web-IDThe .NET Core web SDK with the ID of Microsoft.NET.Sdk.Web

Das Sdk-Attribut muss auf eine dieser IDs auf dem <Project>-Element festgelegt werden, um die .NET Core-Tools nutzen und Codes erstellen zu können.You need to have the Sdk attribute set to one of those IDs on the <Project> element in order to use the .NET Core tools and build your code.

PackageReferencePackageReference

Element, das eine NuGet-Abhängigkeit im Projekt angibt.Item that specifies a NuGet dependency in the project. Das Include-Attribut gibt die Paket-ID an.The Include attribute specifies the package ID.

<PackageReference Include="<package-id>" Version="" PrivateAssets="" IncludeAssets="" ExcludeAssets="" />

VersionVersion

Version gibt die Version des wiederherzustellenden Pakets an.Version specifies the version of the package to restore. Das Attribut berücksichtigt die Regeln für das NuGet-Versionsschema.The attribute respects the rules of the NuGet versioning scheme. Das Standardverhalten ist eine genau Übereinstimmung mit der Version.The default behavior is an exact version match. Beispiel: Die Angabe von Version="1.2.3" ist gleichbedeutend mit der NuGet-Notation [1.2.3] für die genaue 1.2.3 Version des Pakets.For example, specifying Version="1.2.3" is equivalent to NuGet notation [1.2.3] for the exact 1.2.3 version of the package.

IncludeAssets, ExcludeAssets und PrivateAssetsIncludeAssets, ExcludeAssets and PrivateAssets

Das IncludeAssets-Attribut gibt an, welche Objekte, die zu dem durch <PackageReference> angegebenen Paket gehören, genutzt werden sollen.IncludeAssets attribute specifies what assets belonging to the package specified by <PackageReference> should be consumed.

Das ExcludeAssets-Attribut gibt an, welche Objekte, die zu dem durch <PackageReference> angegebenen Paket gehören, nicht genutzt werden sollen.ExcludeAssets attribute specifies what assets belonging to the package specified by <PackageReference> should not be consumed.

Das PrivateAssets-Attribut gibt an, welche Objekte, die zu dem durch <PackageReference> angegebenen Paket gehören, genutzt, aber nicht an das nächste Projekt übertragen werden sollen.PrivateAssets attribute specifies what assets belonging to the package specified by <PackageReference> should be consumed but that they should not flow to the next project.

Hinweis

PrivateAssets entspricht dem Element project.json/xproj SuppressParent.PrivateAssets is equivalent to the project.json/xproj SuppressParent element.

Diese Attribute können eines oder mehrere der folgenden Elemente enthalten:These attributes can contain one or more of the following items:

  • Compile: Gibt an, dass die Inhalte des Ordners „lib“ zum Kompilieren verfügbar sindCompile – the contents of the lib folder are available to compile against.
  • Runtime: Gibt an, dass die Inhalte des Ordners „runtime“ verteilt werdenRuntime – the contents of the runtime folder are distributed.
  • ContentFiles: Gibt an, dass die Inhalte des contentfiles-Ordner verwendet werden.ContentFiles – the contents of the contentfiles folder are used.
  • Build: Gibt an, dass die Eigenschaften/Ziele im Ordner „build“ verwendet werdenBuild – the props/targets in the build folder are used.
  • Native: Gibt an, dass die Inhalte der nativen Objekte für die Runtime in den Ausgabeordner kopiert werdenNative – the contents from native assets are copied to the output folder for runtime.
  • Analyzers: Gibt an, dass Analysen verwendet werdenAnalyzers – the analyzers are used.

Alternativ kann das Attribut Folgendes enthalten:Alternatively, the attribute can contain:

  • None: Keines der Objekte wird verwendet.None – none of the assets are used.
  • All: Alle Objekte werden verwendet.All – all assets are used.

DotNetCliToolReferenceDotNetCliToolReference

Das <DotNetCliToolReference>-Element gibt das CLI-Tool an, das der Benutzer im Kontext des Projekts wiederherstellen möchte.<DotNetCliToolReference> item element specifies the CLI tool that the user wants to restore in the context of the project. Es ist ein Ersatz für den tools-Knoten in project.json.It's a replacement for the tools node in project.json.

<DotNetCliToolReference Include="<package-id>" Version="" />

VersionVersion

Version gibt die Version des wiederherzustellenden Pakets an.Version specifies the version of the package to restore. Das Attribut berücksichtigt die Regeln für das NuGet-Versionsschema.The attribute respects the rules of the NuGet versioning scheme. Das Standardverhalten ist eine genau Übereinstimmung mit der Version.The default behavior is an exact version match. Beispiel: Die Angabe von Version="1.2.3" ist gleichbedeutend mit der NuGet-Notation [1.2.3] für die genaue 1.2.3 Version des Pakets.For example, specifying Version="1.2.3" is equivalent to NuGet notation [1.2.3] for the exact 1.2.3 version of the package.

RuntimeIdentifiersRuntimeIdentifiers

Das Element <RuntimeIdentifiers> ermöglicht die Angabe einer durch Semikolons getrennten Liste von Runtime-IDs (RIDs) für das Projekt.The <RuntimeIdentifiers> element lets you specify a semicolon-delimited list of Runtime Identifiers (RIDs) for the project. RIDs ermöglichen das Veröffentlichen einer eigenständigen Bereitstellung.RIDs enable publishing a self-contained deployments.

<RuntimeIdentifiers>win10-x64;osx.10.11-x64;ubuntu.16.04-x64</RuntimeIdentifiers>

RuntimeIdentifierRuntimeIdentifier

Das <RuntimeIdentifier>-Element ermöglicht die Angabe von nur einer einzigen Runtime-ID (RID) für das Projekt.The <RuntimeIdentifier> element allows you to specify only one Runtime Identifier (RID) for the project. RIDs ermöglichen das Veröffentlichen einer eigenständigen Bereitstellung.RIDs enable publishing a self-contained deployment.

<RuntimeIdentifier>ubuntu.16.04-x64</RuntimeIdentifier>

PackageTargetFallbackPackageTargetFallback

Das <PackageTargetFallback>-Element ermöglicht die Angabe eines Satzes von kompatiblen Zielen, die verwendet werden sollen, wenn Pakete wiederhergestellt werden.The <PackageTargetFallback> element allows you to specify a set of compatible targets to be used when restoring packages. Dies soll ermöglichen, dass Pakete, in denen das .NET TxM (Target x Moniker) verwendet wird, mit Paketen funktionieren, in denen kein .NET TxM deklariert ist.It's designed to allow packages that use the dotnet TxM (Target x Moniker) to operate with packages that don't declare a dotnet TxM. Wird in einem Projekt das .NET TxM verwendet, müssen alle Pakete, zu denen es eine Abhängigkeit gibt, ebenfalls ein .NET TxM haben. Dies trifft nur dann nicht zu, wenn Sie das <PackageTargetFallback>-Element zu Ihrem Projekt hinzufügen, sodass Nicht-.NET-Plattformen mit .NET kompatibel sind.If your project uses the dotnet TxM, then all the packages it depends on must also have a dotnet TxM, unless you add the <PackageTargetFallback> to your project in order to allow non-dotnet platforms to be compatible with dotnet.

Im folgenden Beispiel werden die Fallbacks für alle Ziele in Ihrem Projekt bereitgestellt:The following example provides the fallbacks for all targets in your project:

<PackageTargetFallback>
    $(PackageTargetFallback);portable-net45+win8+wpa81+wp8
</PackageTargetFallback >

Im folgenden Beispiel werden nur die Fallbacks für das netcoreapp1.0-Ziel angegeben:The following example specifies the fallbacks only for the netcoreapp1.0 target:

<PackageTargetFallback Condition="'$(TargetFramework)'=='netcoreapp1.0'">
    $(PackageTargetFallback);portable-net45+win8+wpa81+wp8
</PackageTargetFallback >

NuGet-MetadateneigenschaftenNuGet metadata properties

Mit dem Wechsel zu MSBuild haben wir die Eingabemetadaten, die beim Packen eines NuGet-Pakets verwendet werden, aus project.json in .csproj-Dateien verschoben.With the move to MSbuild, we have moved the input metadata that is used when packing a NuGet package from project.json to .csproj files. Die Eingaben sind MSBuild-Eigenschaften, sodass sie in eine <PropertyGroup>-Gruppe wechseln müssen.The inputs are MSBuild properties so they have to go within a <PropertyGroup> group. In der folgenden Liste sind die Eigenschaften aufgeführt, die als Eingaben für den Packvorgang verwendet werden, wenn der Befehl dotnet pack oder das MSBuild-Ziel Pack verwendet wird, das Bestandteil des SDKs ist.The following is the list of properties that are used as inputs to the packing process when using the dotnet pack command or the Pack MSBuild target that is part of the SDK.

IsPackableIsPackable

Ein Boolescher Wert, der angibt, ob das Projekt verpackt werden kann.A Boolean value that specifies whether the project can be packed. Der Standardwert ist true.The default value is true.

PackageVersionPackageVersion

Gibt die Version an, die das resultierende Paket haben wird.Specifies the version that the resulting package will have. Akzeptiert alle Arten von NuGet-Versionszeichenfolgen.Accepts all forms of NuGet version string. Standardmäßig beträgt der Wert $(Version) der Eigenschaft Version im Projekt.Default is the value of $(Version), that is, of the property Version in the project.

PackageIdPackageId

Gibt den Namen für das resultierende Paket an.Specifies the name for the resulting package. Wenn nicht angegeben, verwendet der pack-Vorgang standardmäßig AssemblyName oder den Verzeichnisnamen als Paketnamen.If not specified, the pack operation will default to using the AssemblyName or directory name as the name of the package.

TitelTitle

Ein benutzerfreundlicher Titel des Pakets, der in der Regel in der Benutzeroberfläche wie auf nuget.org angezeigt wird und der Paket-Manager in Visual Studio.A human-friendly title of the package, typically used in UI displays as on nuget.org and the Package Manager in Visual Studio. Wenn nicht angegeben, wird stattdessen die Paket-ID verwendet.If not specified, the package ID is used instead.

AuthorsAuthors

Eine durch Semikolons getrennte Liste der Paketautoren, die mit Profilnamen unter nuget.org übereinstimmen. Diese werden im NuGet-Katalog unter nuget.org angezeigt und werden verwendet, um Querverweise auf Pakete von den gleichen Autoren zu geben.A semicolon-separated list of packages authors, matching the profile names on nuget.org. These are displayed in the NuGet Gallery on nuget.org and are used to cross-reference packages by the same authors.

BeschreibungDescription

Eine ausführliche Beschreibung des Pakets für die Anzeige der Benutzeroberfläche.A long description of the package for UI display.

Copyright-Informationen für das Paket.Copyright details for the package.

PackageRequireLicenseAcceptancePackageRequireLicenseAcceptance

Ein Boolescher Wert, der angibt, ob der Client den Verbraucher dazu auffordern muss, die Paketlizenz vor der Installation des Pakets zu akzeptieren.A Boolean value that specifies whether the client must prompt the consumer to accept the package license before installing the package. Die Standardeinstellung ist false.The default is false.

PackageLicenseUrlPackageLicenseUrl

Eine URL für die Lizenz, die auf das Paket angewendet werden kann.An URL to the license that is applicable to the package.

PackageProjectUrlPackageProjectUrl

Eine URL für die Paket-Homepage, häufig auf der Benutzeroberfläche sowie auf nuget.org angezeigt.A URL for the package's home page, often shown in UI displays as well as nuget.org.

PackageIconUrlPackageIconUrl

Eine URL für ein 64x64-Bild mit transparentem Hintergrund, das als Symbol für das Paket in der UI-Anzeige verwendet wird.A URL for a 64x64 image with transparent background to use as the icon for the package in UI display.

PackageReleaseNotesPackageReleaseNotes

Anmerkungen zu diesem Paket.Release notes for the package.

PackageTagsPackageTags

Eine durch Semikolons getrennte Liste von Tags, die das Paket festlegt.A semicolon-delimited list of tags that designates the package.

PackageOutputPathPackageOutputPath

Bestimmt den Ausgabepfad, in dem das gepackte Paket abgelegt wird.Determines the output path in which the packed package will be dropped. Der Standardwert ist $(OutputPath).Default is $(OutputPath).

IncludeSymbolsIncludeSymbols

Dieser Boolesche Wert gibt an, ob das Paket ein zusätzliches Symbolpaket erstellen soll, wenn das Projekt verpackt wird.This Boolean value indicates whether the package should create an additional symbols package when the project is packed. Dieses Paket wird eine .symbols.nupkg-Erweiterung haben und die PDB-Dateien zusammen mit der DLL und anderen Ausgabedateien kopieren.This package will have a .symbols.nupkg extension and will copy the PDB files along with the DLL and other output files.

IncludeSourceIncludeSource

Dieser Boolesche Wert gibt an, ob der Packprozess ein Quellpaket erstellen sollte.This Boolean value indicates whether the pack process should create a source package. Das Quellpaket enthält den Quellcode der Bibliothek sowie die PDB-Dateien.The source package contains the library's source code as well as PDB files. Quelldateien werden im src/ProjectName-Verzeichnis in der resultierenden Paketdatei gespeichert.Source files are put under the src/ProjectName directory in the resulting package file.

IsToolIsTool

Gibt an, ob alle Ausgabedateien in den Tools-Ordner anstelle des Lib-Ordners kopiert werden.Specifies whether all output files are copied to the tools folder instead of the lib folder. Beachten Sie, dass dies anders als ein DotNetCliTool ist, der angegeben wird, indem die PackageType in der .csproj-Datei eingestellt wird.Note that this is different from a DotNetCliTool which is specified by setting the PackageType in the .csproj file.

RepositoryUrlRepositoryUrl

Gibt die URL für das Repository an, in der sich der Quellcode für das Paket befindet und/oder aus der es erstellt wird.Specifies the URL for the repository where the source code for the package resides and/or from which it's being built.

RepositoryTypeRepositoryType

Gibt den Verzeichnistyp an.Specifies the type of the repository. Der Standardwert ist „Git“.Default is "git".

NoPackageAnalysisNoPackageAnalysis

Gibt an, dass der Packvorgang keine Paketanalyse nach dem Erstellen des Pakets ausführen sollte.Specifies that pack should not run package analysis after building the package.

MinClientVersionMinClientVersion

Gibt die minimale Version des NuGet-Clients an, der dieses Paket installieren kann. Dies wird von nuget.exe und dem Paket-Manager von Visual Studio erzwungen.Specifies the minimum version of the NuGet client that can install this package, enforced by nuget.exe and the Visual Studio Package Manager.

IncludeBuildOutputIncludeBuildOutput

Dieser Boolesche Werte gibt an, ob die Buildausgabeassemblys in die .nupkg-Datei gepackt werden sollen oder nicht.This Boolean values specifies whether the build output assemblies should be packed into the .nupkg file or not.

IncludeContentInPackIncludeContentInPack

Dieser Boolesche Wert gibt an, ob alle Elemente, die über einen Content-Typ verfügen, automatisch im resultierenden Paket enthalten sind.This Boolean value specifies whether any items that have a type of Content will be included in the resulting package automatically. Die Standardeinstellung ist true.The default is true.

BuildOutputTargetFolderBuildOutputTargetFolder

Gibt den Ordner an, in dem die Ausgabeassemblys positioniert werden.Specifies the folder where to place the output assemblies.. Die Ausgabeassemblys (und andere Ausgabedateien) werden in ihre jeweiligen Frameworkordner kopiert.The output assemblies (and other output files) are copied into their respective framework folders.

ContentTargetFoldersContentTargetFolders

Diese Eigenschaft gibt den Standardspeicherort an, an dem alle Inhaltsdateien gespeichert werden sollten, wenn PackagePath für sie nicht angegeben ist.This property specifies the default location of where all the content files should go if PackagePath is not specified for them. Der Standardwert ist „content;contentFiles“.The default value is "content;contentFiles".

NuspecFileNuspecFile

Relativer oder absoluter Pfad zur .nuspec-Datei, die für die Komprimierung verwendet wird.Relative or absolute path to the .nuspec file being used for packing.

Hinweis

Wenn die .nuspec-Datei angegeben ist, wird sie ausschließlich zur Verpackung von Informationen verwendet, und die Information in den Projekten wird nicht verwendet.If the .nuspec file is specified, it's used exclusively for packaging information and any information in the projects is not used.

NuspecBasePathNuspecBasePath

Der Basispfad für die .nuspec-Datei.Base path for the .nuspec file.

NuspecPropertiesNuspecProperties

Durch Semikolons getrennte Liste der Schlüssel = Wertpaare.Semicolon separated list of key=value pairs.