Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Określa zestaw, których typy niepublicznych.netmodule można uzyskać dostęp.
/moduleassemblyname:assembly_name
Argumenty
- assembly_name
Nazwa zestawu, których typy niepublicznych.netmodule można uzyskać dostęp.
Uwagi
/moduleassemblynamepowinny być użyte podczas budowania.netmodule, i gdy są spełnione następujące warunki:
.netmodule musi mieć dostęp do typów-publiczny w istniejący zestaw.
Znasz nazwę zestawu, do którego.netmodule zostanie zbudowana.
Istniejący zestaw udzieliło do zestawu, do którego dostęp do zestawu friend.netmodule zostanie zbudowana.
Aby uzyskać więcej informacji na temat tworzenia.netmodule, zobacz /target:module (C# kompilator opcje).
Aby uzyskać więcej informacji na zestawy przyjaciel, zobacz Zespoły Friend (C# i Visual Basic).
Ta opcja nie jest dostępna od środowiska programistycznego; jest on dostępny tylko wtedy, podczas kompilacji z wiersza polecenia.
Ta opcja kompilatora jest niedostępna w programie Visual Studio i nie można zmienić programowo.
Przykład
Próbka ta buduje zestaw o prywatnych typu, i która zapewnia dostęp do zestawu friend do zestawu o nazwie csman_an_assembly.
// moduleassemblyname_1.cs
// compile with: /target:library
using System;
using System.Runtime.CompilerServices;
[assembly:InternalsVisibleTo ("csman_an_assembly")]
class An_Internal_Class
{
public void Test()
{
Console.WriteLine("An_Internal_Class.Test called");
}
}
Buduje tej próbki.netmodule uzyskującego dostęp typu-publiczny w moduleassemblyname_1.dll zgromadzenia.Wiadomo, że.netmodule będą wbudowane w zestawie o nazwie csman_an_assembly, możemy podać /moduleassemblyname, dzięki czemu.netmodule-publiczny typów w zestawie, do którego udzielił dostępu zestawu friend do csman_an_assembly dostępu do.
// moduleassemblyname_2.cs
// compile with: /moduleassemblyname:csman_an_assembly /target:module /reference:moduleassemblyname_1.dll
class B {
public void Test() {
An_Internal_Class x = new An_Internal_Class();
x.Test();
}
}
Ten przykładowy kod tworzy csman_an_assembly Zgromadzenia, odwoływanie się do zgromadzenia wcześniej zbudowany i.netmodule.
// csman_an_assembly.cs
// compile with: /addmodule:moduleassemblyname_2.netmodule /reference:moduleassemblyname_1.dll
class A {
public static void Main() {
B bb = new B();
bb.Test();
}
}
Zobacz też
Zadania
Jak: modyfikowanie właściwości projektu i ustawień konfiguracji