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>