Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 23453|Répondre: 0

[.NET Core] [Introduction DotNet (2)]. Compilation et sortie NET Core

[Copié le lien]
Publié sur 21/01/2019 17:10:26 | | | |
1. Outil d’interface en ligne de commande (CLI) NET Core
Il a project.json déprécié et l’a remplacé par un fichier .csproj, qui project.json était utilisé comme fichier de configuration de projet dans le cœur .NET des débuts, et on estime que Microsoft l’a déprécié après avoir découvert certains problèmes, MSBuild étant encore utilisé comme outil de compilation .net.

MSBuild présente :https://docs.microsoft.com/zh-cn ... sbuild?view=vs-2017

Lorsque nous réalisons la compilation et la génération de VS, VS nous aide simplement à appeler l’outil MSBuild, ce qui signifie que lorsque nous compilons le projet .NET, nous n’avons pas besoin d’installer l’outil VS du tout.

La commande de l’outil CLI .NET Core est la suivante :

Outils de ligne de commande .NET (2.1.301)
Utilisation : dotnet [options d’exécution] [chemin vers l’application]
Utilisation : dotnet [sdk-options] [commande] [arguments] [commandes-options]

path-to-application:
  Le chemin vers l’application .dll fichier à exécuter.

Commandes SDK :
  nouvelle initialisation du projet .NET.
  restaurer les dépendances spécifiées dans le projet .NET.
  exécutez et exécutez immédiatement le projet .NET.
  Construis le projet .NET.
  publie un projet .NET pour le déploiement (y compris le runtime).
  les tests effectuent des tests unitaires en utilisant le test runner spécifié dans le projet.
  Pack pour créer un package NuGet.
  migrer des projets basés sur project.json vers des projets basés sur MSBuild.
  Sortie générée propre, propre.
  Fichier SLN Modification Solution (SLN).
  Ajoutez à la référence.
  Retirez-vous du projet.
  Listez les outils auxquels le projet fait référence ou installe.
  NuGet fournit des commandes NuGet supplémentaires.
  msbuild utilise le Microsoft Build Engine (MSBuild).
  vstest exécute l’outil en ligne de commande Microsoft Test Execution.
  Le stockage stocke l’assemblage spécifié dans le magasin d’exécution.
  outil pour installer ou utiliser des outils qui étendent l’expérience .NET.
  Build-Server interagit avec le serveur lancé par la version Build.
  L’aide montre de l’aide.

Options courantes :
  -v|--la verbosité détermine le niveau de détail de la commande. Les valeurs autorisées sont Q[UIET], M[inimal], N[Ormal], D[etailed] et diag[nostic].
  -h|--l’aide montre de l’aide.

Exécutez la commande dotnet — aidez-moi pour obtenir plus d’informations sur la commande.

sdk-options:
  --version montre la version du SDK .NET Core en usage.
  --info affiche les informations du .NET Core.
  --list-sdks pour afficher le SDK installé.
  --list-runtimes affiche le temps d’exécution installé.
  -d|--diagnostics permet la sortie de diagnostic.

runtime-options:
  --additionalprobingpath <path> Le chemin contenant la politique de la sonde et l’assemblage vers la sonde.
  --version <version> fx de la version installée du framework partagé à utiliser pour exécuter l’application.
  --roll-forward-on-no-candidate-fx « No Roll Forward vers Candidate Shared Framework » est activé.
  --additional-deps <path> au chemin vers d’autres fichiers deps.json.

Outils supplémentaires ('dotnet [nom-outil] --help' pour plus d’informations) :
  Dev-certs Créer et gérer les certificats de développement.
  Outils de ligne de commande de base du framework ef Entity.
  SQL cache, outils de ligne de commande.
  secrets utilisateur : Gérer les secrets utilisateurs de développement.
  regarde Démarrer un observateur de fichiers qui exécute une commande lorsque les fichiers changent.

2. Compilation et sortie


Publiez un projet .NET pour le déploiement (y compris l’exécution).
dotnet publish


C:\project\dotnet\test1>dotnet publish --help
Utilisation : dotnet publish [options]

Options:
  -h, --aide affiche les informations d’aide.
  -o, --output <OUTPUT_DIR> est utilisé pour placer le répertoire de sortie de l’élément publié.
  -f, --cadre <FRAMEWORK> Le cadre cible à publier. Le cadre cible doit être spécifié dans le document du projet.
  -r, --<RUNTIME_IDENTIFIER>runtime publie le projet pour une durée donnée. Utilisez ceci lors de la création de déploiements autonomes. L’action par défaut est de publier une application qui dépend du framework.
  -c, --configuration <CONFIGURATION> est utilisée pour générer la configuration du projet. La valeur par défaut pour la plupart des projets est « Déboguer ».
  --<VERSION_SUFFIX>suffixe-version-définit la valeur de la propriété $(VersionSuffixe) dans votre projet.
  --manifester <manifest.xml> Chemin vers le fichier manifest cible contenant une liste de paquets à exécuter via l’étape de publication.
  --non-build ne construis pas le projet avant publication. Cela implique --non-restauration.
  --les applications autonomes associées publient des environnements d’exécution .NET Core, éliminant ainsi la nécessité d’installer l’exécution sur la machine cible. Si un identifiant d’exécution est spécifié, il passe par défaut à « vrai ».
  --no-restore Ne pas effectuer de restauration implicite pendant l’exécution de la commande.
  -v, --la verbosité détermine le niveau de détail de la commande. Les valeurs autorisées sont Q[UIET], M[inimal], N[Ormal], D[etailed] et diag[nostic].
  --no-dependencies active ce drapeau pour ignorer les références projet à projet et ne restaurer que le projet racine.
  --force de forcer la résolution de toutes les dépendances, même si la dernière restauration a réussi. C’est l’équivalent de supprimer project.assets.json.
D’un point de vue exécution, les commandes CLI prennent leurs paramètres et construisent un appel vers le MSBuild « original » pour définir les propriétés désirées et la cible souhaitée à exécuter. Pour mieux illustrer cela, référez-vous à la commande suivante :


Cette commande publie l’application dans le dossier pub en utilisant la configuration Publier. En interne, cette commande se traduit par l’appel MSBuild suivant :
Définissez la plateforme cible pour votre application


Créez un tag dans la section du fichier csproj (qui sert à définir la plateforme cible de votre application), <PropertyGroup> <RuntimeIdentifiers> puis spécifiez l’identifiant d’exécution (RID) pour chaque plateforme cible. Notez que les points-virgules sont également nécessaires pour séparer les RID. Consultez le catalogue des identifiants d’exécution pour une liste d’identifiants à l’exécution.
Par exemple, la section suivante <PropertyGroup> indique que l’application fonctionne sur un système d’exploitation Windows 10 64 bits et une version OS X 10.11 64 bits du système d’exploitation.


Si nous ne voulons générer une distribution que sous la plateforme win10 x64, nous pouvons exécuter la commande suivante :

Dossier de sortie : C :\project\dotnet\test1\bin\release\netcoreapp2.1\win10-x64\publish, tout le dossier contient 66M, ce qui est assez volumineux, comme montré dans la figure ci-dessous :



Générez le paquet de release sous la plateforme centos.7-x64, il y a 70M, qui est aussi assez volumineux, essayons de le publier sur centos 7 pour l’exécuter (Le SDK .NET Core n’est pas installé sur les systèmes CentOS 7)。

Les informations système sont les suivantes :

[root@master ~]# uname -a
Linux master 3.10.0-862.el7.x86_64 #1 SMP ven. 20 avr. 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@master ~]# chat /etc/redhat-release
CentOS Linux version 7.6.1810 (Core)
Nous téléchargeons le fichier dans le répertoire temporaire et essayons d’exécuter le fichier test1, qui peut être généré normalement, comme suit :

[root@master ~]# mkdir temporaire
[root@master ~]# CD Temp/
[root@master temp] # ./test1
-bash : ./test1 : Pas assez d’autorisations
[root@master temp] # CD ..
[root@master ~]# chmod -R 777 temp/
[root@master ~]# CD Temp/
[root@master temp] # ./test1
Salut tout le monde!
[root@master temp] # écho « http://www.itsvse.com »
http://www.itsvse.com
[root@master temporaire] #


3、. Identifiant de run NET Core

.NET Core RID, RID est l’abréviation de Runtime Identifier. Les valeurs RID sont utilisées pour identifier la plateforme cible sur laquelle l’application s’exécute. Les packages .NET les utilisent pour représenter des actifs spécifiques à la plateforme dans les packages NuGet. Les valeurs suivantes sont des exemples de RID : linux-x64, ubuntu.14.04-x64, win7-x64 ou osx.10.12-x64. Pour les paquets à dépendances natives, le RID spécifie la plateforme sur laquelle le paquet peut être restauré.

<RuntimeIdentifier> Vous pouvez définir un RID dans l’élément du fichier projet. Plusieurs RID peuvent être définis comme une <RuntimeIdentifiers> liste (séparée par des points-virgules) dans les éléments d’un fichier de projet.

Les RID représentant un système d’exploitation spécifique suivent généralement le schéma suivant : [os]. [version]-[architecture]-[qualificatifs supplémentaires], où :
  • [OS] est le nom du système d’exploitation/système de plateforme. Par exemple, Ubuntu.
  • [version] est la version du système d’exploitation, formatée par un numéro de version pointé (.). Par exemple, 15,10. Les versions ne devraient pas être des versions marketing, car elles représentent généralement plusieurs versions distinctes du système d’exploitation avec différents périphériques d’API de plateforme.
  • [architecture] est l’architecture du processeur. Par exemple : x86, x64, arm ou arm64.
  • [qualificatifs supplémentaires] différencier davantage les différentes plateformes. Par exemple AOT ou Corert.



Introduction spécifique :https://docs.microsoft.com/zh-cn/dotnet/core/rid-catalog

4、. NET Core crée des packages NuGet

Pour .NET Standard et .NET Core, toutes les bibliothèques doivent être publiées sous forme de paquets NuGet. En fait, c’est ainsi que toutes les bibliothèques standard .NET sont publiées et utilisées. Cela peut être facilement réalisé en utilisant la commande dotnet pack.



(Fin)




Précédent:Tutoriel vidéo de l’examen national de la fonction publique 2019
Prochain:Visual Studio 2017 ajoute MSDN
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com