2017-08-23 3 views
32

Lorsque j'édite un projet d'application Web, Visual Studio 2017 (15.3.1) ajoute l'élément <Use64BitIISExpress /> sous Project/PropertyGroup dans le fichier csproj. Je ne trouve pas de documentation, quel est le but et si cela affecte quelque chose, lorsqu'il est présenté (tel quel, sans attributs).Objet de l'élément <Use64BitIISExpress /> dans le fichier csproj

Seul le 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? A-t-il été introduit dans certaines des mises à jour récentes de Visual Studio 2017?

+2

J'ai remarqué cet élément ajouté après la mise à niveau vers Visual Studio 2017 mise à jour 3 (15.3) lors du changement de paquets NuGet. –

+1

"Maintenant, vous pouvez déboguer vos sites Web 64 bits.Si vous ne le faites pas, vous obtiendrez probablement un message similaire à: "Impossible de charger le fichier ou l'assembly ou l'une de ses dépendances.Une tentative a été faite pour charger un programme avec un format incorrect." https://blogs.msdn.microsoft.com/rob/2013/11/14/debugging-vs2013-websites-using-64-bit-iis-express/ La nouvelle balise semble avoir simplifié le processus d'utilisation de 64 bits IIS. – Triynko

+0

@Triynko Je pense que votre commentaire devrait être développé en une réponse. Et je pense que [la réponse de CodeMonkeyKing à cette autre question] (https://stackoverflow.com/a/15491368/146513) pourrait également être utile pour comprendre pourquoi bien que cette fonctionnalité puisse être présente depuis VS2013, le réglage de mon a changé en 2017 (Mike Harder parle d'un meilleur support pour la future version). –

Répondre

24

J'ai noté cette entrée, sans surprise, après avoir apporté une modification à 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 changé le "URL du projet" pour utiliser le numéro de port correct pour le débogage, cette entrée est apparue (pas parce que j'ai changé cette option spécifiquement, mais c'est quand je l'ai remarqué apparaissant).

<Use64BitIISExpress />

Dans cette section, vous pouvez sélectionner "IIS Express" ou "hôte externe". À côté de cette liste déroulante, il existe une autre liste déroulante pour "Bitness". Le mien était actuellement défini sur "Default", ce qui affiche l'entrée dans le fichier Project sous la forme d'un élément vide. Après avoir modifié la "Bitness" à "x64", mon entrée de fichier de projet a changé à:

<Use64BitIISExpress>true</Use64BitIISExpress>

Changer mes "bitness" à "x86" les résultats dans:

<Use64BitIISExpress>false</Use64BitIISExpress>

retour " bitness » à "Default" fait à nouveau un élément vide:

<Use64BitIISExpress>
</Use64BitIISExpress>

S'il vous plaît ne me votez pas trop fort car je comprends que cela ne répond pas à votre question de "où est la documentation?". Moi aussi, je n'ai trouvé aucune documentation MSBuild pertinente pour cet attribut. Mais, j'ai pensé qu'il valait la peine de noter d'où vient l'attribut et comment il agit en fonction des options choisies dans les propriétés du projet pendant que nous attendons anxieusement une documentation officielle officielle. Soyez doux ...

+1

Il répond à ma question "quel est le but" - vous avez répondu à quel paramètre il reflète - c'est ce que je faisais. – Ondrej

+0

Il est probablement le même que de définir le pool d'applications IIS à 64 bits uniquement. Si vous avez ce que vous devez déboguer dans IISExpress - Ceci est disponible depuis VS2013 et a été utilisé pour les logiciels qui ne libèrent que 64 bits – ppumkin

+1

aime savoir quel imbécile a fait une configuration au niveau du projet au lieu de l'associer à une plate-forme cible particulière (x86/x64). – jpmc26

5

Le but de cela (assez évident) est de démarrer IIS Express en mode 64 bits. Cela équivaut à définir 64 bits uniquement sur le pool d'applications dans IIS.

Si votre projet a une dépendance sur une DLL qui ne fonctionne que sous le mode 64bit alors c'est quand vous avez besoin de le mettre. Cela est disponible depuis VS2013

Probablement est utile si vous préférez faire effectuer le débogage F5 au lieu de processus refixer pour vos applications 64bit pures

Cette started showing up in the config files since VS2017 en raison de tous les changements qui se produisent avec Visual Studio portabilité. (VSCode, Visual Studio Mac, Xamarin, etc)