CA1903: Použijte pouze API z cílového rozhraní .NET Framework
Název_typu |
UseOnlyApiFromTargetedFramework |
CheckId |
CA1903 |
Kategorie |
Microsoft.Portability |
Změnit rozdělení |
Rozdělení - vyvolání proti podpisu typ nebo člen externě viditelné. Bez přerušení - vyvolání těla metody. |
Příčina
Člen nebo typ používá člena nebo typu, která byla zavedena v aktualizaci service pack, která nebyla zahrnuta cílový rámec projektu.
Popis pravidla
Nové členy a typy byly součástí.NET Framework 2.0 Service Pack 1 a 2.NET Framework 3.0 Service Pack 1 a 2, a.NET Framework 3.5 Service Pack 1.Projekty, které jsou hlavní verze.NET Framework může neúmyslně přijmout závislosti těchto nových rozhraní API.Chcete-li tuto závislost, je toto pravidlo na použití jakýchkoli nových členů a typy, které nebyly zahrnuty výchozí cílový rámec projektu.
Cílový rámec a závislosti Service Pack
Pokud je cílový rámec |
Je aktivována v použití členy v |
.NET Framework 2.0 |
.NET Framework 2.0 SP1.NET Framework 2.0 s aktualizací SP2 |
.NET Framework 3,0 |
.NET Framework 2.0 SP1.NET Framework 2.0 s aktualizací SP2.NET Framework 3.0 SP1.NET Framework 3.0 SP2 |
.NET Framework 3,5 |
.NET Framework 3.5 SP1 |
.NET Framework 4 |
Není k dispozici |
Chcete-li změnit cílový rámec projektu, viz Zaměření na specifickou verzi rozhraní .NET Framework nebo profilu.
Jak opravit porušení
Chcete-li odebrat závislost na aktualizaci service pack odeberte všechny použití nového člena nebo typu.Pokud závislost úmyslného potlačit varování nebo vypněte toto pravidlo.
Při potlačení upozornění
Pokud není záměrné závislost na zadaný service pack není potlačit varování od tohoto pravidla.V takovém případě nemusí zdařit aplikaci spustit v systémech bez této aktualizace Service pack nainstalována.Potlačit varování nebo bylo záměrné závislost vypnout toto pravidlo.
Příklad
Následující příklad ukazuje používající typ DateTimeOffset, který je k dispozici pouze třídy.NET 2.0 Service Pack 1.V tomto příkladu vyžaduje.NET Framework 2.0 byla vybrána v rámci cílové rozevíracího seznamu v dialogovém okně Vlastnosti projektu.
using System;
namespace Samples
{
public class LibraryBook
{
private readonly string _Title;
private DateTimeOffset _CheckoutDate; // Violates this rule
public LibraryBook(string title)
{
_Title = title;
}
public string Title
{
get { return _Title; }
}
public DateTimeOffset CheckoutDate // Violates this rule
{
get { return _CheckoutDate; }
set { _CheckoutDate = value; }
}
}
}
Následující příklad řeší porušení výše popsaných nahrazením použití typu DateTimeOffset typu DateTime.
using System;
namespace Samples
{
public class LibraryBook
{
private readonly string _Title;
private DateTime _CheckoutDate;
public LibraryBook(string title)
{
_Title = title;
}
public string Title
{
get { return _Title; }
}
public DateTime CheckoutDate
{
get { return _CheckoutDate; }
set { _CheckoutDate = value; }
}
}
}
Viz také
Další zdroje
Zaměření na specifickou verzi rozhraní .NET Framework nebo profilu