Visual Studio needs to make non-functional changes

2019-02-08 07:02发布

I opened a C# project that was created in VS 2010 SP, with VS 2012. A one-way conversion window appeared where I proceeded with the conversion.

Upon completion I got the following warning:

Visual Studio needs to make non-functional changes to this project in order to enable the project to open in this version and Visual Studio 2010 SP1 without impacting project behavior.

...but it doesn't say which non-functional changes. Can someone clue me in?

6条回答
Lonely孤独者°
2楼-- · 2019-02-08 07:16

I'm unsure as to why exactly this happens but I found that after first opening a VS2010 SharePoint 2010 project in VS2012 amongst other changes the following nodes were added to the .csproj file:

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

I found that if I manually edited the csproj file and removed the following three nodes the next time I opened the project no upgrade logs opened and the issue was resolved:

<FileUpgradeFlags>0</FileUpgradeFlags>
<UpgradeBackupLocation>blah\blah\blah</UpgradeBackupLocation>
<OldToolsVersion>4.0</OldToolsVersion>
查看更多
放我归山
3楼-- · 2019-02-08 07:16

If you look into the .csproj file, you will see this:

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

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

and

< OldToolsVersion>4.0< /OldToolsVersion>
查看更多
再贱就再见
4楼-- · 2019-02-08 07:19

Removing the content of the nodes 'FileUpgradeFlags', 'OldToolsVersion' in the .csproj File solves the Problem.

<FileUpgradeFlags></FileUpgradeFlags>
<OldToolsVersion></OldToolsVersion>
查看更多
Root(大扎)
5楼-- · 2019-02-08 07:23

In our case, removing the following 2 settings elements in the project file that was triggering the upgrade fixed the problem:

Child element of Project/PropertyGroup:

<ProductVersion>8.0.50727</ProductVersion>

Child element of Project:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\WCF\Microsoft.VisualStudio.ServiceModel.targets" />
查看更多
女痞
6楼-- · 2019-02-08 07:23

I've solved the problem in VS2013 in a big multi project via opening the .csproj file and changing this

<FileUpgradeFlags>
</FileUpgradeFlags>

like this

<FileUpgradeFlags></FileUpgradeFlags>
查看更多
倾城 Initia
7楼-- · 2019-02-08 07:32

Change this line from True to False

<SaveServerSettingsInUserFile>True</SaveServerSettingsInUserFile>

<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
查看更多
登录 后发表回答