1

我在课堂上有这个方法

public static DataTable ConvertCellSetToDataTable(CellSet cellSet)
{
    return new DataTable();
}

Microsoft.AnalysisServices.AdomdClient的 packages.config 中有一个 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

4

1 回答 1

0

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

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

于 2018-07-18T06:53:13.143 回答