visual una studio soluciones solucion que proyectos proyecto ideas hechos explorador ejemplos definicion agregar c# visual-studio visual-studio-2013 csproj

c# - soluciones - que es una solucion en visual studio



¿Para qué sirve el "Servicio incluido" en un archivo csproj? (3)

En una solución de C #, agregué un proyecto existente.
Después de eso, Visual Studio ha agregado la siguiente entrada en otros archivos .csproj:

<ItemGroup> <Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" /> </ItemGroup>

¿Para qué es esto?
¿Puedo borrarlo?


Lo bueno de los GUID bien conocidos / constantes es que son bastante únicos y, por lo tanto, son muy fáciles de buscar en Google. Lo que hice, y encontré: this y this , así como otros éxitos interesantes.
Parece que se trata de un error conocido en la herramienta T4 DSL que viene con el SDK. Y, afortunadamente, es bastante fácil de resolver cambiando algunas claves de registro.


Personalmente, no me gusta este servicio agregado a mis archivos de proyecto y creo que tenerlo es más como una solución alternativa que como una solución adecuada. Así que marcar tus proyectos de prueba como proyectos de prueba me parece más correcto y esto se puede lograr agregando esto al primer PropertyGroup :

<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <TestProjectType>UnitTest</TestProjectType>

{3AC096D0-A1C2-E12C-1390-A8335801FDAB} significa Proyecto de prueba y {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - C #. Para otras guías de tipo de proyecto ve here


Tuve un caso similar, donde esto fue agregado:

<ItemGroup> <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> </ItemGroup>

VS2013 genera esta inclusión a propósito si crea un proyecto de prueba NUnit, pero se olvida de etiquetarlo como proyecto de prueba, como se describe en esta answer de Microsoft:

Este comportamiento es intencional.

Para admitir marcos de prueba de terceros, como NUnit y XUnit, Visual Studio 2012 cargó Test Explorer en la solución abierta, independientemente de si contenía proyectos de prueba. Estos segundos adicionales de demora para el inicio y la solución de escenarios abiertos para todos los usuarios, la mayoría de los cuales no usan pruebas.

En Visual Studio 2013, lo cambiamos para que el paquete Test Explorer se cargue solo cuando la solución contiene uno o más proyectos de prueba. Los proyectos de prueba se identifican de dos maneras diferentes. Los proyectos creados a partir de una de las plantillas de proyectos de prueba integrados se identifican utilizando GUID de tipo de proyecto. El Explorador de pruebas identifica otros tipos de proyectos, como el proyecto de biblioteca de clases con pruebas XUnit o NUnit, durante el primer descubrimiento de prueba y los etiqueta "etiquetados" con el elemento <Service/> .