Estoy tratando de hacer un programa simple c#
usando Growl C# API
.referencia csc.exe archivo .dll externo
he intentado compilar mi programa de dos maneras diferentes:
1) Mantuve archivo .dll
en el mismo directorio que mi archivo .cs
. Luego ejecuté
csc /r:Growl.Connector.dll,Growl.CoreLibrary.dll /out:test.exe *.cs
compiló bien y también funcionó bien.
2) Ahora he creado un directorio dentro de mi directorio de trabajo actual llamada growl
y guardado todos mis .dll
referencias allí.
Ahora, cuando intento compilar usando el comando a continuación
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
Se compila bien, pero cuando traté de ejecutarlo se produjo la excepción mencionada a continuación.
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)
lo tanto, mi pregunta es ¿cuál es la forma correcta de hacer referencia a .dll
archivo en csc
cuando los archivos están en una carpeta externa.
Aquí está el directory structure para el segundo caso.
Así que no hay manera de que pueda mantener el archivo '.dll' en una carpeta externa y ejecutar mi' .exe' simplemente 'haciendo doble clic' en él. Como entiendo por su respuesta, el archivo '.dll' debe estar presente en la misma carpeta que .exe en tiempo de ejecución. – RanRag
@Noob: creo que podría estar en un * subdirectorio * si agrega un archivo app.config para especificar la búsqueda de ruta de contenedor privado, pero eso simplemente agrega aún más complejidad. Es todo * mucho * más simple si todo está en el mismo directorio. –
Gracias por la información. – RanRag