web-dev-qa-db-fra.com

Quel est le but de l'élément <Use64BitIISExpress /> dans le fichier csproj

Lorsque je modifie un projet d'application Web, Visual Studio 2017 (15.3.1) ajoute <Use64BitIISExpress /> élément sous Project/PropertyGroup dans le fichier csproj. Je ne trouve aucune documentation, quel est son objectif et si cela affecte quelque chose, lorsqu’il est présenté (tel quel, sans aucun attribut).

Le seul résultat que j'ai pu trouver était la mention de la valeur de registre du même nom.

Est-ce que quelqu'un sait à quoi sert cet élément? At-il été introduit dans certaines des mises à jour récentes de Visual Studio 2017?

43
Ondrej

J'ai remarqué cette entrée, sans surprise, après avoir modifié la page Propriétés de mon projet. Sous la section Web de la page Propriétés, vous verrez une section intitulée "Serveurs". Après avoir modifié "l'URL du projet" pour utiliser le numéro de port correct pour le débogage, cette entrée est apparue (non pas parce que j'ai modifié cette option spécifiquement, mais c'est quand j'ai remarqué qu'elle apparaissait).

<Use64BitIISExpress />

Dans cette section, vous pouvez sélectionner "IIS Express" ou "Hôte externe". A côté de cette liste déroulante, il existe une autre liste déroulante pour "Bitness". Mine était actuellement défini sur "Par défaut", ce qui affiche l'entrée dans le fichier de projet sous forme d'élément vide. Après avoir changé le "Bitness" en "x64", mon entrée de fichier de projet a été modifiée en:

<Use64BitIISExpress>true</Use64BitIISExpress>

Changer mon "Bitness" en "x86" a pour résultat:

<Use64BitIISExpress>false</Use64BitIISExpress>

Remettre "Bitness" sur "Default" en fait à nouveau un élément vide:

<Use64BitIISExpress>
</Use64BitIISExpress>

Je comprends que cela ne réponde pas à votre question "où est la documentation?". Moi aussi, je n'ai trouvé aucune documentation MSBuild pertinente pour cet attribut. Mais j’ai pensé que cela valait la peine de noter d’où provient cet attribut et comment il agit en fonction des options sélectionnées dans les propriétés du projet pendant que nous attendons avec impatience une documentation officielle et officielle.

42
Urk

Le but de cette opération (assez évidente) est de démarrer IIS Express en mode 64 bits. Cela revient à définir 64 bits uniquement sur le pool d’applications dans IIS.

Si votre projet a un mode dépendance sur un mode DLL qui s'exécute uniquement sous 64 bits alors c'est à ce moment-là que vous devez le définir. Il est disponible depuis VS2013

C'est probablement utile si vous préférez faire le débogage F5 au lieu de recoller les processus pour vos applications 64 bits pures

Cette started showing up in the config files since VS2017 en raison de tous les changements liés à la portabilité de Visual Studio. (VSCode, Visual Studio Mac, Xamarin, etc.)

8
Piotr Kula