Estoy teniendo un problema similar a lo que Pablo tenía hace un año (ver How to add manifest to a .NET DLL?). Es decir, tengo un proyecto de biblioteca de clase C# en Visual Studio 2008, que genera un dll. El dll hace referencia a algunos ensamblajes privados, por lo que deseo agregar un manifiesto de ensamblaje al archivo DLL que especifica esos otros ensamblados a los que se hace referencia.¿Cómo agregar el manifiesto de ensamblaje a un proyecto de biblioteca de clase C# .NET en Visual Studio 2008?
Sé cómo hacer esto para un ejecutable, es solo appName.exe.manifest, y cuando el archivo se incluye en el proyecto, puede simplemente seleccionarlo como el manifiesto en las propiedades del proyecto.
De acuerdo con la respuesta que le dio a Pablo Ruben (por encima de la pila en el hilo de desbordamiento), un manifiesto sólo se aplica a ex. Sin embargo, la documentación de Microsoft en manifiestos parece sugerir lo contrario (corríjanme si me equivoco), MSDN Assembly Manifests:
un manifiesto de ensamblado es un archivo XML que describe un ensamblaje de lado a lado. Los manifiestos de la asamblea describen los nombres y versiones de los ensamblajes uno al lado del otro, el ensamblaje, así como la dependencia del ensamblaje en otros conjuntos uno al lado del otro . Correcto instalación, activación y ejecución de ensambles uno al lado del otro requiere que el ensamblado manifiesto siempre acompañe un ensamblaje en el sistema .
Debido a la forma de lado a lado búsquedas para conjuntos privados, el siguientes restricciones se aplican nombrar al empaquetar un archivo DLL como un conjunto privado . Una forma recomendada de hacer esto es poner de manifiesto la asamblea en la DLL como un recurso. En este caso , el ID de recurso debe ser igual a 1 y el nombre del ensamblado privado puede ser ser el mismo que el nombre del archivo DLL. Por ejemplo, si el nombre de la DLL es Microsoft.Windows.mysample.dll, el valor del atributo nombre usado en el elemento assemblyIdentity de la manifiesta también puede ser Microsoft.Windows.mysample.
Una forma alternativa es poner de manifiesto la montaje en un archivo separado. En este caso, el nombre del conjunto de y su manifiesto debe ser diferente que el nombre de la DLL. Por ejemplo, Microsoft.Windows.mysampleAsm, Microsoft.Windows.mysampleAsm.manifest, y Microsoft.Windows.Mysample.dll
Así que crearon un assemblyName.manifest manifiesto de ensamblado como un archivo separado, e incluían en el proyecto de biblioteca de clase. Pero cuando voy a las propiedades para el proyecto, obtengo el mismo resultado que Paul, la opción de usar su propio manifiesto está deshabilitada.
¿Estoy haciendo algo mal? ¿Cómo agrego mi manifiesto a la asamblea?
FYI: Todavía se aplica a Visual Studio 2012 –
Y también a VS2015 – DaveInCaz