Visual Studio необходимо внести нефункциональные изменения в этот проект

Я открыл проект C#, который был создан в VS 2010 SP, с VS 2012. Появилось окно одностороннего преобразования, в котором я продолжил преобразование.

по окончании я получил следующее предупреждение:

Visual Studio необходимо внести нефункциональные изменения в этот проект в чтобы разрешить открытие проекта в этой версии и Visual Studio 2010 SP1 без влияния на поведение проекта.

...но он не говорит , который нефункциональных изменений. Кто-нибудь может мне подсказать?

6 ответов


Я не уверен, почему именно это происходит, но я обнаружил, что после первого открытия проекта VS2010 SharePoint 2010 в VS2012 среди других изменений были добавлены следующие узлы .файл csproj:

<ProjectMode>SharePointCustomization</ProjectMode>
<TargetOfficeVersion>15.0</TargetOfficeVersion>
<FileUpgradeFlags>0</FileUpgradeFlags>
<UpgradeBackupLocation>blah\blah\blah</UpgradeBackupLocation>
<OldToolsVersion>4.0</OldToolsVersion>

я обнаружил, что если я вручную отредактировал файл csproj и удалил следующие три узла при следующем открытии проекта, журналы обновления не были открыты, и проблема была решена:

<FileUpgradeFlags>0</FileUpgradeFlags>
<UpgradeBackupLocation>blah\blah\blah</UpgradeBackupLocation>
<OldToolsVersion>4.0</OldToolsVersion>

удаление содержимого узлов "FileUpgradeFlags", "OldToolsVersion" в .файл csproj решает проблему.

<FileUpgradeFlags></FileUpgradeFlags>
<OldToolsVersion></OldToolsVersion>

изменить эту строку с True to False

<SaveServerSettingsInUserFile>True</SaveServerSettingsInUserFile>

<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>

в нашем случае удаление следующих 2 элементов настроек в файле проекта, который запускал обновление, исправило проблему:

дочерний элемент Проект / PropertyGroup:

<ProductVersion>8.0.50727</ProductVersion>

дочерний элемент проект:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\WCF\Microsoft.VisualStudio.ServiceModel.targets" />

Если вы посмотрите на .файл csproj, вы увидите это:

< Import Project="$(MSBuildExtensionsPath)$(MSBuildToolsVersion)\Microsoft.Common.props"     

 Condition="Exists('$(MSBuildExtensionsPath)$(MSBuildToolsVersion)\Microsoft.Common.props')" />

и

< OldToolsVersion>4.0< /OldToolsVersion>

Я решил проблему в VS2013 в большом мульти-проекте, открыв .файл csproj и изменение этого

<FileUpgradeFlags>
</FileUpgradeFlags>

такой

<FileUpgradeFlags></FileUpgradeFlags>