2009-09-27 20 views

Respuesta

20

Su proyecto probablemente esté configurado como un proyecto de WinForms, o posiblemente como una biblioteca de clases. Si se crea como cualquiera de estos, solo podrá agregar un UserControl de WPF, desafortunadamente.

Por supuesto, no existe un motivo técnico para esta limitación, por lo que puede copiar/pegar uno de otro proyecto o recrear/cambiar su proyecto para que sea un proyecto de WPF.

No estoy seguro de qué cambia exactamente para convertirlo en un proyecto de WPF a los ojos de VS. Puede intentar crear un nuevo proyecto y diferirlo a su proyecto actual. Lo más probable es que tenga que hacer algo de edición de texto en su archivo .csproj.

+6

Gracias, copia-pegar esto desde otro proyecto, y ahora veo lo mismo que usted: {60dc8134-eba5-43b8-bcc9 -bb4bc16c2548}; {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} Benjol

+0

No hay problema. De nada. –

+3

Mire esta respuesta. Detalla cómo agregar soporte de WPF a un proyecto existente: http://stackoverflow.com/questions/450377/upgrading-a-winforms-app-to-wpf – santiagoIT

0

Intente ejecutar devenv /installvstemplates para restablecer sus plantillas instaladas. Lo he usado antes cuando el Control de usuario de WPF desapareció misteriosamente de mi lista de nuevos complementos.

En mi proyecto WPF, cuando hago clic en Agregar obtengo las siguientes opciones (que incluyen Ventana).

Add New Options

Así que me temo que es su configuración.

16

Agregue esto a su primera <PropertyGroup> elemento en su csproj:

<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 

He aquí un ejemplo:

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> 
    <PropertyGroup> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 
    <ProjectGuid>{24793F93-0FD8-4EC9-B1D2-028DB489B10D}</ProjectGuid> 
    <OutputType>WinExe</OutputType> 
    <AppDesignerFolder>Properties</AppDesignerFolder> 
    <RootNamespace>nest_spawner</RootNamespace> 
    <AssemblyName>nest-spawner</AssemblyName> 
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 
    <FileAlignment>512</FileAlignment> 
    </PropertyGroup> 

se convierte en:

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> 
    <PropertyGroup> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 
    <ProjectGuid>{24793F93-0FD8-4EC9-B1D2-028DB489B10D}</ProjectGuid> 
    <OutputType>WinExe</OutputType> 
    <AppDesignerFolder>Properties</AppDesignerFolder> 
    <RootNamespace>nest_spawner</RootNamespace> 
    <AssemblyName>nest-spawner</AssemblyName> 
    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 
    <FileAlignment>512</FileAlignment> 
    </PropertyGroup> 
+1

¡Buen consejo! Funciona para mí –

+0

Intenté esto, pero si agrego esa etiqueta, VS no puede cargar el proyecto, diciéndome que "un proyecto con el mismo nombre ya está abierto en la solución". ¿Algunas ideas? –

+0

No funciona para mí. –

0

no utilizar Visual Studio 2015 Microsoft Mezcle ... para abrir su proyecto .. abra su p royecto en Visual Studio - Microsoft Visual Studio ,,, ver en la barra de título

Cuestiones relacionadas