Pregunta

Tengo un .Proyecto de red que utiliza el conector de MySQL que se encuentra en la GAC.

En mi Nant construir archivo de allí, no parece ser una manera de decirle a CSC para buscar en el GAC para encontrar esta dll (o tipo de información) y mi proyecto no construir.

Hay una manera de decirle a Nant que esta referencia no existe y en el Gac.

Su extraño realmente porque, obviamente, todas las bibliotecas de Microsoft por ejemplo,"Sistema" en el Gac y no tiene un problema de la construcción de anythign hacer referencia a esas.Me han confirmado que el Mysql Connector es también en el Gac.

Gracias.

¿Fue útil?

Solución

csc busca de Dll en el directorio actual, en el marco de directorio, en los directorios mencionados en la /lib interruptor, en los directorios mencionados en la variable de entorno LIB.

Pero no en el GAC.Usted puede compilar con csc /r:full_path_to_the_gac_file.dll y que funciona, pero no es muy amigable con el usuario.

.NET asambleas están instalados en dos lugares:en el GAC y en el marco de directorio (lo que explica que se encontró).

Usted debe copiar los archivos Dll que usted necesita en un directorio determinado y hacer referencia a él con el /lib interruptor.Por supuesto, en tiempo de ejecución, será tomada de la GAC.

Otros consejos

Otra solución (más portátil) podría ser:

<csc output="../bin/output.dll" target="library">
 <references>
  <include name="\%windir%\assembly\AForge.dll" />
 </references>
 <sources>
  <include name="**/*.cs" />
 </sources>
</csc>

También es posible usar la etiqueta lib para agregar \% windir \ assembly a la ruta de búsqueda, pero está marcado como obsoleto en la documentación de NAnt.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top