2015-02-11 24 views
0

我將PowerShell管理單元(它工作得很好)轉換爲PowerShell模塊。在Powershell 3中導入二進制模塊,dll參考位於不同的文件夾

我已經爲DLL具有相同的名稱添加DLL的輸出到一個文件夾,並添加模塊路徑$env:PSModulePath

進口似乎失敗,因爲管理單元有一些其他DLL的一些引用(位於bin\文件夾)

我也不想複製所有引用的dll到模塊文件夾,因爲它們已經在bin文件夾中。

有沒有辦法指出引用的dll位於PowerShell中的文件夾?也許,表示該文件夾就像是個別dll的完成:

[reflection.assembly]::loadfrom(full name of referenced dll)

+0

請問爲什麼您不想將引用的dll複製到模塊的文件夾?我相信這是一個相當標準的做法。 – blachniet 2015-02-11 12:36:13

+0

@blachniet:原因是因爲我已經將dll編譯到** bin \ **文件夾中。我只想從模塊文件夾中引用它們。考慮一下我有20個模塊的情況,然後我將所有的dll複製到每個模塊中。 – 2015-02-11 12:49:55

回答

0

我不知道有什麼方法可以從另一個文件夾加載的DLL引用。如果你只想在目標文件夾中有一個dll,你可以使用ILMergeavailable via NuGet)將主輸出程序集和引用程序集合併成一個dll。