visual-studio - una - visual basic proyectos hechos
¿Cuáles son las diversas configuraciones de "Acción de creación" en las propiedades del proyecto de Visual Studio y qué hacen? (7)
¿Qué tal esta página de Microsoft Connect (explicando los tipos DesignData y DesignDataWithDesignTimeCreatableTypes)? Citando
A continuación se describen las dos acciones de compilación para archivos de datos de muestra.
Los archivos de datos de muestra .xaml deben asignarse a una de las siguientes Acciones de compilación:
DesignData : los tipos de datos de muestra se crearán como tipos falsos. Use esta Acción de compilación cuando los tipos de datos de muestra no sean creables o tengan propiedades de solo lectura para las que desea definir valores de datos de muestra.
DesignDataWithDesignTimeCreatableTypes : los tipos de datos de muestra se crearán utilizando los tipos definidos en el archivo de datos de muestra. Utilice esta acción de compilación cuando los tipos de datos de muestra se pueden crear utilizando su constructor vacío predeterminado.
No es tan increíblemente exhaustivo, pero al menos da una pista. Este tutorial de MSDN también da algunas ideas. No sé si estas Acciones de Creación también son aplicables para proyectos que no son de Silverlight.
En su mayor parte, solo toma lo que Visual Studio lo configura como predeterminado ... Me refiero a la propiedad BuildAction para cada archivo seleccionado en el Explorador de soluciones. Hay una serie de opciones y es difícil saber qué hará cada una de ellas.
De la documentación:
La propiedad BuildAction indica lo que hace Visual Studio con un archivo cuando se ejecuta una compilación. BuildAction puede tener uno de varios valores:
Ninguno: el archivo no se incluye en el grupo de resultados del proyecto y no se compila en el proceso de compilación. Un ejemplo es un archivo de texto que contiene documentación, como un archivo Léame.
Compilar: el archivo se compila en la salida de compilación. Esta configuración se utiliza para archivos de código.
Contenido: el archivo no se compila, pero se incluye en el grupo de salida de contenido. Por ejemplo, esta configuración es el valor predeterminado para un archivo .htm u otro tipo de archivo web.
Recurso incrustado: este archivo está incrustado en la salida de compilación del proyecto principal como un archivo DLL o ejecutable. Normalmente se utiliza para archivos de recursos.
En VS2008, la entrada de documento que parece más útil es:
Windows Presentation Foundation construyendo una aplicación WPF (WPF)
ms-help: //MS.VSCC.v90/MS.MSDNQTR.v90.en/wpf_conceptual/html/a58696fd-bdad-4b55-9759-136dfdf8b91c.htm
Definición de aplicación Identifica el archivo de marcado XAML que contiene la definición de la aplicación (un archivo de marcado XAML cuyo elemento raíz es la aplicación). ApplicationDefinition es obligatorio cuando Install es true y OutputType es winexe. Una aplicación WPF y, en consecuencia, un proyecto MSBuild solo puede tener una definición de aplicación.
Página Identifica un archivo de marcado XAML cuyo contenido se convierte a un formato binario y se compila en un ensamblaje. Los elementos de página normalmente se implementan junto con una clase de código subyacente.
Los elementos de página más comunes son los archivos XAML cuyos elementos de nivel superior son uno de los siguientes:
Window (System.Windows..::.Window).
Page (System.Windows.Controls..::.Page).
PageFunction (System.Windows.Navigation..::.PageFunction<(Of <(T>)>)).
ResourceDictionary (System.Windows..::.ResourceDictionary).
FlowDocument (System.Windows.Documents..::.FlowDocument).
UserControl (System.Windows.Controls..::.UserControl).
Recurso Identifica un archivo de recursos que se compila en un ensamblaje de aplicación. Como se mencionó anteriormente, UICulture procesa elementos de recursos.
Contenido Identifica un archivo de contenido que se distribuye con una aplicación. Los metadatos que describen el archivo de contenido se compilan en la aplicación (utilizando AssemblyAssociatedContentFileAttribute).
Página: toma el archivo XAML especificado y lo compila en BAML, e incrusta esa salida en la secuencia de recursos administrada para su ensamblaje (específicamente AssemblyName.g.resources). Además, si tiene los atributos apropiados en el elemento XAML raíz en el archivo, creará un archivo blah.g.cs, que contendrá una clase parcial del "codebehind" para esa página; Básicamente, esto implica una llamada al goop BAML para volver a hidratar el archivo en la memoria y para establecer cualquiera de las variables miembro de su clase en los elementos creados ahora (por ejemplo, si coloca x: Nombre = "foo" en un elemento). , podrás hacer esto.foo.Background = Púrpura; o similar.
Definición de la aplicación: similar a la página, excepto que va más allá de furthur, y define el punto de entrada para su aplicación que creará una instancia de su objeto de aplicación, ejecutará la llamada, que luego instanciará el tipo establecido por la propiedad StartupUri, y le dará a su mainwindow .
Además, para ser claros, esta pregunta en general es infinita en su conjunto de resultados; cualquiera puede definir BuildActions adicionales con solo construir una tarea de MSBuild. Si observa el directorio% systemroot% / Microsoft.net / framework / v {versión} / y observa el archivo Microsoft.Common.targets, debería poder descifrar muchos más (por ejemplo, con VS Pro y superior) hay una acción "Sombra" que le permite generar accesores privados para ayudar con la unidad de pruebas de clases privadas.
VS2010 tiene una propiedad para ''Build Action'' y también para ''Copy to Output Directory''. Por lo tanto, una acción de ''Ninguna'' se copiará al directorio de compilación si la propiedad de copia está establecida en ''Copiar si es más nueva'' o ''Copiar siempre''.
Por lo tanto, debe reservarse una Acción de creación de ''Contenido'' para indicar el contenido al que accederá a través de ''Application.GetContentStream''
Utilicé la configuración de ''Crear acción'' de ''Ninguna'' y la configuración de ''Copiar en la ruta de salida'' de ''Copiar si es más reciente'' para algunos .config vinculado externamente.
SOL.
- Fakes: parte del marco de Microsoft Fakes (Aislamiento de prueba unitaria). No disponible en todas las versiones de Visual Studio. Las falsificaciones se utilizan para respaldar las pruebas unitarias en su proyecto, lo que lo ayuda a aislar el código que está probando al reemplazar otras partes de la aplicación con talones o calzos. Más aquí: https://msdn.microsoft.com/en-us/library/hh549175.aspx
Ninguno : el archivo no se incluye en el grupo de resultados del proyecto y no se compila en el proceso de compilación. Un ejemplo es un archivo de texto que contiene documentación, como un archivo Léame.
Compilar : El archivo se compila en la salida de compilación. Esta configuración se utiliza para archivos de código.
Contenido : le permite recuperar un archivo (en el mismo directorio que el ensamblaje) como una transmisión a través de Application.GetContentStream (URI). Para que este método funcione, necesita un atributo personalizado AssemblyAssociatedContentFile que Visual Studio agraciosamente agrega cuando marca un archivo como "Contenido"
Recurso incrustado: inserta el archivo en un recurso de manifiesto de ensamblaje exclusivo.
Recurso (solo WPF) : inserta el archivo en un recurso de manifiesto del ensamblado compartido (por todos los archivos en el ensamblaje con una configuración similar) denominado AppName.g.resources.
Página (solo WPF) : se utiliza para compilar un archivo
xaml
enbaml
. Elbaml
se incrusta luego con la misma técnica queResource
(es decir, disponible como `AppName.g.resources)Definición de aplicación (solo WPF) : marque el archivo XAML / class que define su aplicación. Usted especifica el código subyacente con x: Class = "Namespace.ClassName" y configura el formulario / página de inicio con StartupUri = "Window1.xaml"
SplashScreen (solo WPF) : una imagen que está marcada como
SplashScreen
se muestra automáticamente cuando se carga una aplicación WPF y luego se desvaneceDesignData : Compila los modelos de vista XAML para que los controles de usuario se puedan obtener una vista previa con datos de muestra en Visual Studio (utiliza tipos simulados)
DesignDataWithDesignTimeCreatableTypes : Compila modelos de vista XAML para que se pueda obtener una vista previa de los controles de usuario con datos de muestra en Visual Studio (usa tipos reales)
EntityDeploy : (Entity Framework) : se utiliza para implementar los artefactos de Entity Framework
CodeAnalysisDictionary : un archivo XML que contiene un diccionario de palabras personalizado para las reglas de ortografía