LicFileLicenseProvider
ベースのライセンス プロバイダーを作成します。このコンテンツに関する多くの記事、質問、回答を読みました。最後に、ライセンス プロバイダーを作成しましたMyLicFileLicenseProvider
。これには、RunTime と DesignTime の 2 つのモードがあります。設計時のみのライセンスを設定します。私はそれをやりましたが、それもうまく機能しています。したがって、ライセンスは、「licenses.licx」ファイルが存在するコンパイル中にのみ使用されます (使用する必要があります)。
A. 通常の場合
1) クラスを作成します。
[LicenseProvider(typeof(MyLicFileLicenseProvider))]
public class XXXObject
{
private License license = null;
/// <summary>
/// Creates an instance of the XXXObject object.
/// </summary>
public XXXObject()
{
try
{
license = LicenseManager.Validate(typeof(XXXObject), this);
}
catch (Exception ex)
{
throw new SecurityException("Invalid license!");
}
}
}
2) 次に、licenses.licx ファイル、コンテンツ オブジェクトのフル ネーム、名前空間、バージョン、カルチャ、PublicKeyToken を作成します。
3) ライセンス ファイル、XXX.XXXObject.lic ファイルを作成します。
これで、必要なものをすべて作成し、プロジェクトをコンパイルしました。それはコンパイルされ、うまく機能しています。
B. Bi-normal ケース。私の質問は、上記で述べたように、属性で XXXObject クラスを装飾したことです[LicenseProvider(typeof(MyLicFileLicenseProvider))]
。次に、licenses.licx ファイルをプロジェクトから除外します。次に、プロジェクトをコンパイルしました。ただし、まだコンパイル中です。[LicenseProvider(typeof(MyLicFileLicenseProvider))] でクラスを装飾したため、これは意味がありません。licenses.licx を探す必要がありますが、そうではなく、エラーなしでコンパイルされましたか?