Я пытаюсь сделать простую программу c#
, используя Growl C# API
.csc.exe ссылка external .dll file
Я пытался скомпилировать свою программу двумя различными способами:
1) Я держал .dll
файл в том же каталоге, что и мой .cs
файл. Than I ran
csc /r:Growl.Connector.dll,Growl.CoreLibrary.dll /out:test.exe *.cs
Он скомпилирован в порядке и также отлично работает.
2) Теперь я создал каталог в моем текущем рабочем каталоге с именем growl
и сохранил все мои .dll
ссылки там.
Теперь, когда я пытаюсь скомпилировать его с помощью следующей команды
csc /r:"D:\Modified\Growl_NET_Connector_SDK\libraries\growl\Growl.Connector.dll","D:
\Modified\Growl_NET_Connector_SDK\libraries\growl\Growl.CoreLibrary.dll" /out:test.exe *.cs
Это скомпилированная нормально, но когда я попытался запустить его место нижеуказанного исключения.
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Growl.Connector, Version=2.0.0.0, Culture=n
eutral, PublicKeyToken=980c2339411be384' or one of its dependencies. The system cannot find the file specified.
at GrowlNotification.Program.Main(String[] args)
Итак, мой вопрос, что это правильный способ ссылки .dll
файла в csc
, когда файлы находятся в папке внешней.
Вот directory structure для 2-го корпуса.
Так что я не могу хранить файл '.dll' во внешней папке и запускать свой' .exe' просто путем двойного щелчка. Как я понимаю из вашего ответа, файл '.dll' должен присутствовать в той же папке, что и .exe во время выполнения. – RanRag
@Noob: Я считаю, что он может быть в * поддиректории *, если вы добавите файл app.config, чтобы указать собственное исследование пути к пробелу, но это просто добавляет еще большую сложность. Это все * намного проще, если все в одном каталоге. –
Спасибо за информацию. – RanRag