/moduleassemblyname (Možnosti C# kompilátoru)
Určuje sestavení k jehož neveřejným typům může .netmodule přistupovat.
/moduleassemblyname:assembly_name
Arguments
- assembly_name
Název sestavení k jehož neveřejným typům může .netmodule přistupovat.
Poznámky
Možnost /moduleassemblyname by měla být použita v případě vytváření .netmodule a pokud jsou splněny následující podmínky:
.netmodule potřebuje přistupovat k neveřejným typům v existujícím sestavení.
Znáte název sestavení, v kterém bude .netmodule vytvořen.
Existující sestavení udělilo spřátelený přístup sestavení, v kterém bude .netmodule vytvořen.
Další informace o vytváření .netmodule, naleznete v tématu /target:module (Možnosti C# kompilátoru).
Další informace o spřátelených sestaveních naleznete v tématu Sestavení přítele (C# a Visual Basic).
Tato možnost není k dispozici ve vývojovém prostředí; je k dispozici pouze při kompilaci z příkazového řádku.
Tato možnost kompilátoru není dostupná v aplikaci Visual Studio a nemůže být změněna v programu.
Příklad
Tato ukázka vytvoří sestavení se soukromých typem, které poskytuje spřátelený přístup sestavení s názvem 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");
}
}
Tato ukázka vytvoří .netmodule, který přistupuje k neveřejnému typu v sestavení moduleassemblyname_1.dll.Jelikož víme, že tento .netmodule bude vytvořen v sestavení nazvaném csman_an_assembly, můžeme určit /moduleassemblyname, což . netmodule umožní přístup k neveřejným typům v sestavení, které udělilo spřátelený přístup sestavení csman_an_assembly.
// 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();
}
}
Tato ukázka kódu vytvoří sestavení csman_an_assembly, které odkazuje na dříve vytvořené sestavení a .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();
}
}
Viz také
Úkoly
Jak: Upravte vlastnosti projektu a nastavení konfigurace