cuando se refiere a un conjunto de biblioteca, se copia automáticamente en el directorio final del bin. Sin embargo, el * .dll.config no lo está, ¿hay alguna forma de copiar automáticamente este archivo de configuración?¿Podemos autocopiar el * .dll.config?
Respuesta
En Visual Studio, hay una sección de "propiedades" cuando tiene el archivo activo abierto. Para el App.config, tiene una propiedad llamada Copy to Output Directory
, las opciones son
Do Not Copy
Copy if Newer
Copy Always
¿Quieres la segunda o la tercera opción.
Con el host CLR predeterminado, solo un EXE puede tener un archivo .config. No DLL. Copiar un archivo .dll.config no debería tener sentido, a menos que usted abra y analice el archivo usted mismo de forma explícita. En ese caso, debe usar un nombre diferente para evitar confusiones.
¿Por qué no puedo tener un archivo de configuración para dll? ¿Cuál es el problema con eso? Como sabrá, los sitios web de ASP.NET se compilan en dlls. ¿Estás diciendo que las configuraciones web no existen? – oleksii
El problema es que no es compatible. ASP.NET es un host CLR diferente, tiene reglas diferentes. –
Tuve el mismo problema. Puede tener una situación en la que Propiedades no lo ayuden a copiar app.config donde lo necesite. Como cuando haces pruebas de unidades de integración. A continuación, puede tener dos opciones:
uso posterior acumulación de eventos
copia/Y “$ (ProjectDir) App.config” “.... \ test \ Debug \ $ (TargetFileName). config”
copie manualmente el archivo de configuración de secciones libA.dll a libA.Test.dll
termino con el 2, ya que demostró ser más robusto para yo.
Cambie el nombre de la aplicación.config en el proyecto dll a [dllname] .dll.config. Cambie las propiedades del mismo archivo para "copiar siempre" y reconstruir. Funciona muy bien para mi También intenté agregar otra configuración a través del cuadro de diálogo Configuración en VS y se actualizó bien aunque ya no era app.config. BTW Uso de la actualización VS2013 3.
Otra forma de hacer algo similar es crear un archivo de enlace permanente con [dllname] .dll.config en la carpeta del proyecto y cambiar las propiedades para "copiar siempre" de esa manera todavía tiene su app.config como es normal, pero si la actualizó, también actualizará su archivo [dllname] .dll.config. La única advertencia real aquí es que podría no rastrear el enlace fijo cuando controle el control de fuente como TFS y podría sobrescribir accidentalmente el enlace. Pero, de nuevo, respeta los enlaces cuando "agrega y un elemento existente" como un enlace, por lo que puede funcionar o no para su situación. Tú decides.
Aunque llego tarde, pero mi respuesta puede ayudar a otros. He utilizado el siguiente comando como evento previo a la construcción:
copy /Y $(SolutionDir)\[YOUR_LIBRARY_PROJECT]\app.config $(ProjectDir)$(OutputPath)[YOUR_LIBRARY_NAME].dll.config
Traté de ser dinámico tanto como sea posible, y el comando anterior trabajé.
Hay una mejor respuesta en el siguiente mensaje:
// Add this <ItemGroup> at the end of your .csproj file before </Project> and after <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<Content Include="app.config">
<Link>$(TargetName).dll.config</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
No he intentado esto, pero parece que podría presentar problemas si quiere transformar el archivo en la implementación con guepardo lento. – emragins
- 1. Lectura dll.config (no app.config!) De un módulo de complemento
- 2. podemos cambiar el texto en el uiSwitch
- 3. ¿Podemos usar el enhebrado en PL/SQL?
- 4. ¿Podemos encriptar todo el archivo de configuración?
- 5. ¿Cómo podemos contar el tiempo del proceso?
- 6. podemos asignar el ancho de li
- 7. ¿podemos llamar a startActivityForResult desde el adaptador?
- 8. ¿Podemos usar el puntero en unión?
- 9. ¿cómo podemos presionar ".db" en el emulador?
- 10. ¿Cuándo podemos usar el método ClearAllPools?
- 11. ¿Podemos sobrecargar el método principal en Java?
- 12. ¿Podemos acelerar el castillo de arena?
- 13. ¿Podemos declarar variables en el archivo app.config
- 14. ¿Podemos usar & en url?
- 15. ¿Cómo le indica a NUnit que cargue el archivo dll.config de un ensamblaje desde un directorio específico?
- 16. ¿Podemos optimizar el código para reducir el consumo de energía?
- 17. ¿Podemos definir un IBOutlet privado?
- 18. ¿podemos usar xpath con BeautifulSoup?
- 19. ¿Podemos usar pom.xml en ANT
- 20. podemos usar CASE con EXEC
- 21. ¿Podemos filtrar Datatable con LINQ?
- 22. ¿Podemos usar union en hibernate?
- 23. ¿Podemos usar Foundation con HTML5Boilerplate?
- 24. ¿Cómo podemos escribir "in nsstring?
- 25. ¿Cómo podemos superponer dos imágenes usando el estilo css?
- 26. ¿Podemos usar el ORM en GAE con Django ahora?
- 27. ¿Podemos cambiar el tamaño de la vista UIDatePicker en iPhone
- 28. ¿podemos verificar la notificación de inserción en el simulador?
- 29. ¿Podemos concaturar dos propiedades en el enlace de datos?
- 30. ¿Podemos ejecutar el comando del sistema operativo desde sqlite3
Pero esas opciones son para un archivo en un proyecto en la solución actual para entrar en el directorio bin; no para los dlls externos a los que podría hacer referencia usando la opción Agregar referencia. –