Pregunta

Comencé a trabajar en Porting Una aplicación que he escrito para la implementación en la App Store de Windows 8.Esto requiere que la solicitud se escriba contra el subconjunto del marco .NET.Mi solicitud sigue una arquitectura donde la funcionalidad central está en su propia DLL, y las cosas como el acceso al sistema de archivos se realizan a través de la COI.Básicamente, esto significa que la única dependencia de la DLL central es el sistema.Debido a esto, pensé que la porting sería una brisa, configurar mis valores de IOC y alambre una GUI, entonces seré bueno para irme.Solo, ni siquiera puedo hacer referencia a mi núcleo DLL de la aplicación Windows Store (A.K.A. METRO APP).

¿He perdido algo?¿En realidad, tener que reescribir mi DLL central solo para su inclusión en la App Store de Windows 8?Se nos dice que si usa una buena arquitectura, entonces la porting será una brisa, y eso es lo que he hecho.¿Ha sido eso solo una gran mentira?

¿Fue útil?

Solución

Las aplicaciones de Windows Store (anteriormente llamadas Aplicación de estilo metro) se limitan a usar el perfil de .NET CORE.Puse algunos detalles sobre el perfil central en mi Responder a esta pregunta .Consulte Convertir su código Framework existente En este artículo más detalles.No es su arquitectura, es el subconjunto del marco .NET que está disponible para una aplicación de Windows Store.Es posible que tenga que complementar algunos de los tipos que utiliza en .NET con tipos WINRT en su lugar.

Otros consejos

No tengo un conocimiento extenso e intentaré restituir a los hechos como los entiendo. El marco de metro agrega funcionalidad, y limita la funcionalidad. Existen restricciones de seguridad pesadas y vastos segmentos del marco completo .NET que no están disponibles (por ejemplo, no puede usar System.Data, algunos de los métodos del sistema y acceso a archivos han cambiado drásticamente). Una aplicación de metro está aislada, no podrá recurrir a todos los archivos en el disco duro como podría en una aplicación estándar (mi opinión, además de la seguridad al aislamiento, es un estímulo para empujarlo a la Nube para necesidades de almacenamiento).

A menos que las cosas hayan cambiado, PineVoke se limita a los métodos API de Win32 "aprobados".

Consulte este enlace para algunas alternativas a las necesidades comunes de API de Win32: >> http://msdn.microsoft.com/en-us/library/windows/apps/hh464945.aspx

Vea este enlace para aprobado Win32 / COM API: HTTP: //msdn.microsoft.com/en-us/library/windows/apps/BR205762.ASPX

Es difícil decir si una arquitectura "buena" será una brisa para puerto sin saber qué hay en el código en esa arquitectura. En mi marco de utilidad, he tenido cosas que portado con muy fácilmente (o al menos fueron sencillas) y las cosas que fueron un lavado completo que requirió mucha reescritura (la pérdida de System.Data, por ejemplo, es un lugar dolorido para mí). Hay cosas que se pueden diseñar bien, pero cuando se elimina el código de subrayado en el marco o la API, se escribió con él requerirá reescritura.

Tuve el mismo problema: un proyecto para la aplicación de metro no cargue DLL Cree con el marco .4.Cambié el marco de 4 a 3.5 para el DLL y ahora el proyecto Metro los vea.

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