Как установить пространство имен для импортированной DLL IronPython? - PullRequest
0 голосов
/ 26 октября 2011

У меня есть .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.*, а не то, чем оно является на самом деле - или даже если бы я мог просто использовать правильную структуру папок, чтобы она нашла "правильную" пространство имен, которое также может работать.

Спасибо!

1 Ответ

2 голосов
/ 26 октября 2011

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

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

...