Ссылки на внешние сборки из оснастки PowerShell

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

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

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


person Paolo Tedesco    schedule 09.10.2009    source источник
comment
круто - рад, что решение помогло - и это полезная информация   -  person Chris Ballard    schedule 09.10.2009
comment
Вы можете отредактировать свой вопрос, чтобы показать только вопрос? затем поместите свой ответ как фактический ответ в систему. Знаешь, это нормально - ответить на свой вопрос. Это был бы лучший способ использовать систему stackoverflow. Таким образом, другие могут проголосовать за ваш ответ.   -  person halr9000    schedule 12.10.2009
comment
@halr9000: готово. Я думаю, что вы правы, размещая решение среди ответов, я не знаю о голосовании (люди могли проголосовать за вопрос).   -  person Paolo Tedesco    schedule 13.10.2009


Ответы (2)


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

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

person Chris Ballard    schedule 09.10.2009

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

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

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

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

person Paolo Tedesco    schedule 13.10.2009