45

自分のアセンブリの内部クラスを他のアセンブリから見えるようにすることは可能ですか?

AssemblyInfoファイルと属性については知ってい[assembly: InternalsVisibleTo()]ますが、私の場合は機能しません。

主な目的は、LINQPADからメソッドを呼び出せるようにすることであるため、これ[assembly: InternalsVisibleTo("LINQPad")]は機能しません。どうしてか分かりません。私のプロジェクトでは、依存関係リゾルバーを使用していますが、LINQPADでそのようなことを行うのは困難です。助言がありますか?

4

2 に答える 2

72

これを機能させる新しいベータ版をアップロードしました。

LINQPadにアクセスさせたい内部構造を持つライブラリに次の属性を追加します。

[assembly: InternalsVisibleTo("LINQPadQuery")]

また、LINQPadの設定([編集]、[設定]、[詳細])でこの機能を有効にする必要があります。

どうやって仲良くするか教えてください。

于 2013-01-17T08:03:36.840 に答える
3

プロジェクトのプロパティをAssemblyInfo.csファイルに移動して、そこに設定することもできます。

例えば:

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following 
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("*****)]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("*****")]
[assembly: AssemblyProduct("*****")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: InternalsVisibleTo("[HERE IS YOUR ASSEMBLY WHERE YOU WANT TO SEE INTERNALS OF CURRENT ASSEMBLY")]

// Setting ComVisible to false makes the types in this assembly not visible 
// to COM components.  If you need to access a type in this assembly from 
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("6fbd2c14-031d-48cc-9cc6-f1b85d701e89")]

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
于 2020-07-23T14:40:20.337 に答える