Как установить пространство имен для импортированной dll IronPython?

У меня есть .NET dll, который я импортирую, и, кажется, он работает нормально, за исключением случаев, когда он запускается внутри программы VB или .NET, он просматривает пространство имен, в котором он работает, чтобы определить, авторизовано ли пространство имен. использовать эту конкретную функциональность.

Так, например, если бы я писал приложение на C#, оно могло бы выглядеть примерно так:

using The.New.Library;

namespace Knights.Of.The.Round.Table {
     public class Knight{
          // Some code
          private void fight(){
              The.New.Library.DoSomething();
          }
     }
}

И это будет работать нормально, потому что пространство имен Knights.* авторизовано для использования DoSomething

Можно ли сказать dll, когда я импортирую ее в IronPython, что пространство имен на самом деле Knights.*, а не то, что оно есть на самом деле, или даже если бы я мог просто использовать правильную структуру папок, чтобы он нашел «правильное» пространство имен, это также могло бы Работа.

Спасибо!


person Wayne Werner    schedule 25.10.2011    source источник


Ответы (1)


Я думаю, что ваш единственный вариант - создать оболочку С#, которая находится в правильном пространстве имен и просто пересылает в библиотеку.

Кроме того, это может быть самая причудливая схема «безопасности», о которой я когда-либо слышал, особенно учитывая, как легко ее было бы «победить». Тот, кто это придумал, никогда больше не должен подходить к компьютеру.

person Jeff Hardy    schedule 25.10.2011
comment
Вот что я понял. Насколько я понимаю, в значительной степени это связано с законом Сарбейнса-Оксли, но у меня есть подозрение, что большая часть нашей политики здесь - это элементарное непонимание этого закона. У меня было несколько побуждений пойти и на самом деле прочитать текст этого закона, чтобы убедиться, что то, что мы делаем, не выходит за рамки. - person Wayne Werner; 26.10.2011