使另一个程序集可以看到内部静态方法

时间:2013-06-25 12:34:32

标签: c# methods static .net-assembly internal

我无法找到解决我问题的方法:

 public static class1
{
    private static void Method()
    {
       //Implementation

我想在另一个程序集中访问该方法,我试图把

using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("MyAssembly2")] 

public static class1
    {
        internal static void Method()
        {
           //Implementation

但我无法在MyAssembly2中看到我的方法。

我不想让我的方法公开或动态。 关于如何做到这一点的任何想法??

由于

西奥

1 个答案:

答案 0 :(得分:0)

来自MSDN关于Friend Assemblie的文档:

  

编译将访问另一个程序集(程序集A)的内部类型或内部成员的程序集(程序集B)时,必须使用/ out编译器选项显式指定输出文件(.exe或.dll)的名称(有关更多信息,请参阅/了解)。这是必需的,因为编译器在绑定到外部引用时尚未为它正在构建的程序集生成名称。

来源:https://msdn.microsoft.com/library/0tke9fxk(en-us,vs.80).aspx

检查编译器选项并重建两个程序集。