Uso de Windows UWP Windows.Devices.SerialCommunication.SerialDevice de la biblioteca Universal Class

Estoy haciendo una biblioteca Modbus (de nuevo ...). Esta vez está destinado a ejecutarse en Windows 10 IoT Core.

Me he encontrado con un problema interesante. Esta porción de código:

string aqs = SerialDevice.GetDeviceSelector();
var dis = await DeviceInformation.FindAllAsync(aqs);

var port = await SerialDevice.FromIdAsync(dis[0].Id);

if (port != null) {
    port.BaudRate = 9600;
    port.DataBits = 8;
    port.StopBits = SerialStopBitCount.One;
    port.Parity = SerialParity.None;
    port.Handshake = SerialHandshake.None;
    port.ReadTimeout = TimeSpan.FromMilliseconds(1000);
    port.WriteTimeout = TimeSpan.FromMilliseconds(1000);
}

Utilizado desde una aplicación universal funciona perfectamente. Por supuesto, si agrega el siguiente código a Package.appxmanifest:

<Capabilities>
     <DeviceCapability Name="serialcommunication">
         <Device Id="any">
             <Function Type="name:serialPort" />
         </Device>
     </DeviceCapability>
 </Capabilities>

Utilizado desde Universal Class Library (Archivo -> Nuevo proyecto -> ... -> Windows -> Universal -> Class Library (Universal Windows) en VS2015) crea una excepción de referencia nula de mscorlib.dll, que es lo mismo que si elimina DeviceCapability de la aplicación Universal Package.appxmanifest.

Sospecho que este comportamiento tiene algo que ver con que la Biblioteca de clases no tenga un archivo de manifiesto y, por lo tanto, no tenga los permisos adecuados.

¿Puedo usar Windows.Devices.SerialCommunication desde las bibliotecas de clase?

¿Me está haciendo Microsoft decirles a los usuarios 'Hey! Te hice una biblioteca inútil para la que tienes que implementar la capa de transporte por ti mismo en cualquiera de tus aplicaciones por separado. ?

Respuestas a la pregunta(1)

Su respuesta a la pregunta