代码在视觉工作室2015上编译但在2013年失败

时间:2016-07-13 15:22:44

标签: c# visual-studio-2013 visual-studio-2015 system.xml

我在类

中有这个方法
public static DataTable ConvertCellSetToDataTable(CellSet cellSet)
{
    return new DataTable();
}

我的packages.config中有Microsoft.AnalysisServices.AdomdClient作为nuget包,我不想将System.Xml作为项目参考。

  <package id="Microsoft.AnalysisServices.AdomdClient" version="12.0.2000.8" targetFramework="net452" />

此项目无法使用Visual Studio 2013 Pro进行编译,但同一计算机上的Visual Stuido 2015 Pro中的相同解决方案文件仍然符合。

来自VS2013的错误消息如下:

error CS0012: The type 'System.Xml.Serialization.IXmlSerializable' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

我对这次失败感到满意,但为什么要用Visual Studio 2015进行编译?这里有什么新东西?

请点击我的所有文件:

https://gist.github.com/atwayne/ad8fdc06ee831626361609cfb5935638

1 个答案:

答案 0 :(得分:0)

已经有一段时间了,我引用@Hans Passant的评论作为答案:

  

罗斯林是新来的。版本4.5左右的C#编译器有一个   想知道间接类型要严格得多   参考。某种方法重载的问题,   C#语言规范未提及。