代码在 Visual Studio 2015 上编译,但在 2013 上失败

本文关键字:但在 2013 失败 编译 代码 Visual Studio 2015 | 更新日期: 2023-09-27 17:56:51

我在类中有这个方法

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

代码在 Visual Studio 2015 上编译,但在 2013 上失败

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

罗斯林是新来的。C# 编译器,大约 4.5 版本,有一个 对想知道间接类型的要求更加严格 引用。某种方法重载问题,一个细节 C#语言规范没有提及。

相关文章: