2

ライセンスを添付してアプリケーションをデプロイしたい。ただし、Visual Studio で自分の dll を簡単に参照できないようにしたいと考えています。

これを行う通常の方法は何ですか?これを防ぐためにアプリケーションをngen化することを考えていましたが、コードはアーキテクチャに依存します。Windows 以外のアーキテクチャ/プラットフォームを対象としているわけではありませんが、リリース ビルドを作成した後にアプリケーションを ngen-ing することは、回避策のように思えます。これを達成するための他のテクニックはありますか?

4

4 に答える 4

3

ngen で処理されたイメージを出荷することはできません。ターゲット コンピューターで Ngen.exeを実行する必要があります。それを処理する .NET インストーラーによってインストールされる専用のサービスがあります。とにかく、何も保護するのに役立ちません。元のアセンブリも引き続き存在する必要があります。

.NET にはライセンスのサポートが組み込まれていますが、設計可能なクラスに対してのみ機能します。System.ComponentModel.License は基本クラスの宣言です。LicFileLicenseProvider はその具体的な実装です。

サードパーティのものを購入できます。ドングルは無敵です。いずれにせよ、あなたの IP を真に保護する唯一の方法は法廷です。目に見える場所で著作権を主張し、ユーザーがコードを使用する前に明示的なライセンス契約の手順を踏んでいることを確認してください。

于 2010-03-19T18:15:37.597 に答える
2

コード アクセス セキュリティ (CAS)。継承、メソッド、またはアセンブリのチェーン全体に LinkDemand を適用できます。これには、リンクするすべてのアセンブリが同じ厳密な名前のキーと必要なその他の証拠を持っている必要があります。

于 2010-03-19T18:12:05.127 に答える
0

インストーラーを使用している場合は、インストール中に ngen できます。SQL Server がこれを行います。

難読化することもできます。リンク自体が妨げられることはありませんが、dll が何をするのかを知ることが難しくなり、他のプロセスに対する「有用性」が低下します。

于 2010-03-19T18:01:48.740 に答える
0

クラスのスコープを Friend に変更するとどうなるか

于 2010-03-19T18:10:17.367 に答える