1つのソリューションModelProjectとPluginProjectに2つのC#.NETプロジェクトがあります。PlugInProjectは別のアプリケーションのプラグインであるため、そのAPIを参照します。PlugInProjectは、プラグインするアプリケーションからデータを抽出するために使用されます。ModelProjectには、PlugInProjectによって抽出されたクラスのデータモデルが含まれています。
抽出されたデータは、アプリケーションやプラグインとは関係なく使用できます。そのため、PlugInProjectをModelProjectから分離しています。ModelProjectをPlugInProjectおよびApplicationsAPIから独立させたい。つまり、PlugInProject、アプリケーション、またはアプリケーションのAPIにアクセスしなくても、抽出されたデータに誰かがアクセスできるようにしたいのです。
私が遭遇している問題は、PlugInProjectがModelProjectでクラスを作成および変更できる必要があることです。ただし、ModelProjectを使用している人にはこれらのアクションを公開したくありません。抽出されたデータは、後でPlugInProjectによって変更されない限り、事実上読み取り専用である必要があります。
これらのプロジェクトを分離して、PlugInProjectにModelProjectへの排他的アクセスを許可するにはどうすればよいですか?これは可能ですか?