Je suis à l'aide de VS2010 et j'ai essayé d'ajouter un peu de montage de disque dur local pour mon projet C# par référence au fichier. Jeter un oeil dans le fichier csproj. J'ai trouvé parfois le fichier de référence apparaît comme
<Reference Include="name">
Cependant, parfois, il semble que
<Reference Include="name, Version=xxx, Culture=neutral,
processorArchitecture=MSIL">
Quelle est la cause de la différence?
Edit: Inspried par k3b réponse. J'ai fait un autre test. J'ai créé un nouveau projet de bibliothèque de classes.
- Ajouter un fichier de référence. La valeur initiale de Speicifc Version en Propertis volet est Faux.Le csporj fichier ressemble
<Reference Include="Name"> <HintPath>...</HintPath> </Reference>
- Changement Speicifc Version en Propertis volet de Vrai. VS ajoute de la version dans l'attribut include.
<Reference Include="Name, Version=..."> <HintPath>...</HintPath> </Reference>
- Changement Speicifc Version en Propertis volet de Faux à nouveau. VS ajoute un élément enfant SpecificVersion.
<Reference Include="Name, Version=..."> <HintPath>...</HintPath> <SpecificVersion>False<Specific> </Reference>
Il semble donc que la règle est la suivante:
- Lorsque la Version est présent dans d'Inclure l'attribut et il n'y a pas d'
SpecificVersion
des enfants de l'élément, le fichier de l'assemblée est configuré pour être Précis Version - L'
SpecificVersion
des enfants de l'élément n'est ajouté à la valeur False.
Edit 2: Merci pour k3b réponse. Nous faisons le même test en même temps.
Une chose que je ne comprends toujours pas:
- Pour mon nouveau projet de test, si je supprime le fichier de référence et ajouter de nouveau, elle remonte format dans le point 1, qui est la valeur par défaut.
- Pour mon projet, si je supprime le fichier de référence et l'ajouter à nouveau, je serai de retour format au point 3. Même si cela signifie également que la Version Spécifique n'est pas utilisé, je me demande pourquoi il ne retourne pas à formater dans le point 1.