【发布时间】:2015-07-21 14:05:03
【问题描述】:
我刚刚安装了新发布的 Visual Studio 2015 (RTM) 社区版,我正在尝试让 my open source project 在 VS2015 和 C# 6.0 下工作。
我的一些 .cs 文件是跨项目共享的。通过这种方式,我可以同时构建 PCL 版本(功能有限)和核心库的“完整”版本。
然而,出于某种原因,某些代码文件在完整项目中可以正确构建,但在 PCL 项目中构建时会失败(所有代码都在 C# 5 和 Visual Studio 2013 下编译)。在构建 PCL 版本时,编译器似乎无法解析 XML 注释中的 cref。这是一个在我的机器上失败的简化代码示例:
/// <summary></summary>
public class A
{
// Compile error on next line:
/// <summary><see cref="Y(Type)"/>.</summary>
public void X() { }
/// <summary></summary>
/// <param name="x"></param>
public void Y(Type x) { }
/// <summary></summary>
/// <param name="i"></param>
public void Y(int i) { }
}
我得到的编译错误是:
CS1580 XML 注释 cref 属性中的参数类型无效: 'Y(Type)' SimpleInjector.PCL
奇怪的是,虽然 XML cmets 中的 IntelliSense 支持(哇!我们现在在 XML cmets 中有 IntelliSense!)确实有效,并且可以通过下拉列表选择方法 Y(Type)。但是在选择这个之后,会产生一个编译错误(仅在 PCL 中)。
我的问题当然是如何解决这个问题?这是个常见的问题吗?项目的配置与此有关吗?这是一个已知的错误吗?
【问题讨论】:
标签: c# visual-studio-2015 c#-6.0