2013-09-02 2 views
0

В ниже фрагменте кода, метод GOODBYE отмечен как внутренней по умолчанию. Я добавил строку ниже в файле AssemblyInfo.cs, чтобы сделать этот метод доступным во всех других сборках.«InternalsVisibleTo» атрибут не подвергая метод помечен как «внутренний»

[assembly: InternalsVisibleTo("ConsoleApplication2")] 

По-прежнему класс не исключает использование метода GoodBy наружу. Может ли кто-нибудь помочь мне решить это. Заранее спасибо!

namespace ConsoleApplication2 
{ 
    public class Program 
    { 
     static void Main(string[] args) { } 
     public void SayHi() { } 
     internal void GoodBye() { } 
    } 
} 
+0

Вы использовали полное имя сборки? – Charleh

+0

@ Lukazoid Нет, я не подписал с крепким ключом. –

+0

Каковы имена двух сборок, 'ConsoleApplication2' содержит ваш внутренний метод, что такое внешняя сборка, которая пытается использовать эти внутренние методы? – Lukazoid

ответ

3

The InternalsVisibleToAttribute должен быть обеспечен с именем узла, который вы хотите, чтобы иметь возможность просматривать внутренние методы.

В вашем примере вы, кажется, говорите: внутренние методы ConsoleApplication2 видны ConsoleApplication2.

Что же вы хотите, чтобы быть сказать, внутренние методы ConsoleApplication2 видны SomeOtherLib, которые вы могли бы сделать так:

[assembly: InternalsVisibleTo("SomeOtherLib")] 
+0

Ницца .. Он работает. Большое спасибо Lukazoid :) –

+0

Без проблем, рад, что сработал: D – Lukazoid

Смежные вопросы