¿Alguien puede explicar los beneficios de usar un ensamblaje de interoperabilidad primario en .Net?

StackOverflow https://stackoverflow.com/questions/204806

  •  03-07-2019
  •  | 
  •  

Pregunta

Este concepto es nuevo para mí, y un colega lo sugirió. Lamentablemente, no tenía ni idea de qué estaba hablando. ¿Puede alguien iluminarme?

¿Fue útil?

Solución

Puede encontrar mucha información al respecto aquí .

En pocas palabras, un PIA es un conjunto de interoperabilidad firmado que proporciona el " official " definición de tipos en una biblioteca COM del editor de la biblioteca COM.

En cuanto a los beneficios, el artículo publicado lo resume bastante bien:

  

Los PIA son importantes porque   Proporcionar identidad de tipo único. La pia   distingue el tipo oficial   definiciones de falsificación   Definiciones proporcionadas por otra interoperabilidad.   asambleas. Tener un solo tipo   identidad asegura la compatibilidad de tipos   entre aplicaciones que comparten el   Tipos definidos en el PIA. Porque el   PIA está firmado por su editor y   etiquetado con el   El atributo PrimaryInteropAssembly,   Se puede diferenciar de otros.   ensamblajes de interoperabilidad que definen la   mismos tipos.

Otros consejos

Un ensamblaje de interoperabilidad primario envolverá las interfaces COM en tipos compatibles con .NET. No le da el control granular que invoca manualmente los métodos, pero es lo suficientemente cerca.

Sin un PIA:

object _comObject;
Type _comObjectType;
_comObjectType = Type.GetTypeFromProgID("MyCompany.MyApplication.MyObject", true);
_comObject = Activator.CreateInstance(_comObjectType);

string name = (string)_comObjectType.InvokeMember("GetCustomerName", BindingFlags.InvokeMethod, null, _comObject, , new object [] { _customerId });

Con un PIA:

MyCompany.MyApplication.MyObject obj = new MyObject();
string name = obj.GetCustomerName(_customerId);

Simplemente, a través de un ejemplo, si desea desarrollar una aplicación que se parezca a cualquier otra herramienta de oficina (MS word, visio ...) con funcionalidad extendida, puede usar la funcionalidad de herramientas de oficina en su proyecto usando PIA.In mi aplicación de dibujo de diagrama de clase, uso Panel de visio para la creación de diagramas de clase.

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