我打开了一个在VS 2010 SP中使用VS 2012创建的C#项目。出现了单向转换窗口,我继续进行转换。
完成后,我收到以下警告:
Visual Studio需要对此项目进行非功能性更改 为了使项目能够在此版本和Visual Studio中打开 2010 SP1,不影响项目行为。
...但它没有说哪些非功能性更改。有人能告诉我吗?
答案 0 :(得分:21)
我不确定为什么会发生这种情况但我发现在VS2012中首次打开VS2010 SharePoint 2010项目并在其他更改中将以下节点添加到.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>
答案 1 :(得分:2)
删除.csproj文件中节点'FileUpgradeFlags','OldToolsVersion'的内容可以解决问题。
<FileUpgradeFlags></FileUpgradeFlags>
<OldToolsVersion></OldToolsVersion>
答案 2 :(得分:0)
如果你查看.csproj文件,你会看到:
< Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props"
Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
和
< OldToolsVersion>4.0< /OldToolsVersion>
答案 3 :(得分:0)
将此行从 True 更改为 False
<SaveServerSettingsInUserFile>True</SaveServerSettingsInUserFile>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
答案 4 :(得分:0)
在我们的例子中,删除触发升级的项目文件中的以下2个设置元素修复了问题:
Project / PropertyGroup 的子元素:
<ProductVersion>8.0.50727</ProductVersion>
Project 的子元素:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\WCF\Microsoft.VisualStudio.ServiceModel.targets" />
答案 5 :(得分:0)
通过打开.csproj文件并更改此
,我在一个大型多项目中解决了VS2013中的问题<FileUpgradeFlags>
</FileUpgradeFlags>
像这样
<FileUpgradeFlags></FileUpgradeFlags>