Ссылка на внешние сборки из оснастки PowerShell - PullRequest
1 голос
/ 09 октября 2009

Я разрабатываю настраиваемую оснастку PowerShell, которая ссылается на другой проект в решении.
Когда я пытаюсь отладить оснастку (следуя [этим инструкциям] [1]), сборка не удается загрузить, и мой командлет завершается ошибкой с сообщением «Не удалось загрузить файл или сборку ...»

Как вы указываете PowerShell, как находить сборки, или как вы указываете, где находятся сборки, необходимые для оснастки?

Я бы предпочел избегать регистрации сборок в GAC, по крайней мере, во время разработки.

Ответы [ 2 ]

1 голос
/ 13 октября 2009

РЕШЕНИЕ (разместив его здесь, как предложено в одном из комментариев к моему вопросу)

Моя проблема была довольно специфической, так как я занимаюсь разработкой на 64-битном сервере, но выкладываю решение на тот случай, если оно может помочь кому-то еще.

Используя fuslogvw, как было предложено, я увидел, что поиск зависимой сборки осуществлялся с использованием файла machine.config в C:\Windows\Microsoft.NET\Framework64, а затем не удалось выполнить привязку; запуск проекта с «запуском без отладки», вместо этого был взят файл machine.config в C:\Windows\Microsoft.NET\Framework (обратите внимание на отсутствующий 64 в конце).

Я думал, что проблема может быть связана с форматом изображения, и в результате зависимая сборка компилировалась с x86 в качестве целевого процессора; Я изменил его на «Любой процессор», и теперь сборка загружена правильно.

1 голос
/ 09 октября 2009

Не уверен в точном поведении, но я бы попытался использовать fuslogvw, чтобы точно определить, где среда выполнения ищет проблемные сборки. Это даст вам ключ к пониманию того, как их скопировать в правильное место при сборке. Этот пост Скотта Хансельмана весьма полезен, а этот является официальной документацией.

Если вы найдете решение, добавьте ответ, так как это должен быть распространенный сценарий.

...