Właśnie zainstalowałem świeżo wydaną wersję Community Edition Visual Studio 2015 (RTM) i próbuję uzyskać my open source project działającą pod VS2015 i C# 6.0.Visual Studio 2015/C# 6/Roslyn nie może skompilować komentarzy XML w projekcie PCL
Niektóre z moich plików .cs są udostępniane dla projektów. W ten sposób mogę zbudować zarówno wersję PCL (z ograniczoną funkcjonalnością), jak i "pełną" wersję głównej biblioteki.
Z jakiegoś powodu jednak niektóre pliki kodu budują się prawidłowo w pełnym projekcie, ale nie działają, gdy są zbudowane w projekcie PCL (gdzie wszystko kompiluje się pod C# 5 i Visual Studio 2013). Wydaje się, że kompilator nie może rozwiązać cref
w komentarzu XML podczas budowania wersji PCL. Oto uproszczony przykład kodu, który nie działa na moim komputerze:
/// <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) { }
}
Błąd kompilacji dostaję to:
CS1580 Nieprawidłowy typ na typ parametru w XML atrybutu komentarz cref: „Y (Type)”SimpleInjector.PCL
Dziwne jest jednak, że wsparcie IntelliSense w komentarzach XML (Wow! mamy IntelliSense w komentarzach XML teraz!) rzeczywiście działa, a metoda jest wybierana t Y(Type)
z rozwijanej listy. Ale po wybraniu tego, generowany jest błąd kompilacji (tylko w PCL).
Moje pytanie jest oczywiście, jak to naprawić? Czy jest to powszechny problem? Czy konfiguracja projektu może mieć coś wspólnego z tym? Czy to znany błąd?