J'ai ouvert un projet C # créé dans VS 2010 SP avec VS 2012. Une fenêtre de conversion à sens unique est apparue dans laquelle j'ai procédé à la conversion.
À la fin, j'ai reçu l'avertissement suivant:
Visual Studio doit apporter des modifications non fonctionnelles à ce projet dans afin de permettre au projet de s’ouvrir dans cette version et Visual Studio 2010 SP1 sans impact sur le comportement du projet.
... mais il ne dit pas qui changements non fonctionnels. Quelqu'un peut-il m'indiquer?
Je ne sais pas exactement pourquoi cela se produit, mais j'ai constaté qu'après la première ouverture d'un projet VS2010 SharePoint 2010 dans VS2012, entre autres modifications, les nœuds suivants ont été ajoutés au fichier .csproj:
<ProjectMode>SharePointCustomization</ProjectMode>
<TargetOfficeVersion>15.0</TargetOfficeVersion>
<FileUpgradeFlags>0</FileUpgradeFlags>
<UpgradeBackupLocation>blah\blah\blah</UpgradeBackupLocation>
<OldToolsVersion>4.0</OldToolsVersion>
J'ai constaté que si j'avais modifié manuellement le fichier csproj et supprimé les trois nœuds suivants lors de la prochaine ouverture du projet, aucun journal de mise à niveau n'était ouvert et le problème résolu:
<FileUpgradeFlags>0</FileUpgradeFlags>
<UpgradeBackupLocation>blah\blah\blah</UpgradeBackupLocation>
<OldToolsVersion>4.0</OldToolsVersion>
Supprimer le contenu des nœuds 'FileUpgradeFlags', 'OldToolsVersion' dans le fichier .csproj résout le problème.
<FileUpgradeFlags></FileUpgradeFlags>
<OldToolsVersion></OldToolsVersion>
J'ai résolu le problème dans VS2013 dans un grand projet multiple en ouvrant le fichier .csproj et en le modifiant.
<FileUpgradeFlags>
</FileUpgradeFlags>
comme ça
<FileUpgradeFlags></FileUpgradeFlags>
Dans notre cas, la suppression des deux éléments de paramètres suivants dans le fichier de projet qui déclenchait la mise à niveau a résolu le problème:
Élément enfant de Project/PropertyGroup :
<ProductVersion>8.0.50727</ProductVersion>
Elément enfant de Projet :
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\WCF\Microsoft.VisualStudio.ServiceModel.targets" />
Modifiez cette ligne de True à False
<SaveServerSettingsInUserFile>True</SaveServerSettingsInUserFile>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
Si vous regardez dans le fichier .csproj, vous verrez ceci:
< Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props"
Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
et
< OldToolsVersion>4.0< /OldToolsVersion>