2009-09-27 31 views

Trả lời

20

Dự án của bạn có thể được định cấu hình là dự án WinForms hoặc có thể là thư viện lớp học. Nếu nó được tạo ra như một trong số này, bạn chỉ có thể thêm một WPF UserControl, thật không may.

Tất nhiên, không có lý do kỹ thuật cho giới hạn này, vì vậy bạn có thể sao chép/dán một từ dự án khác hoặc tạo lại/thay đổi dự án của mình thành dự án WPF.

Tôi không chắc chắn những gì bạn thay đổi chính xác để biến nó thành một dự án WPF trong mắt của VS. Bạn có thể thử tạo một dự án mới và phân biệt nó với dự án hiện tại của bạn. Bạn rất có thể sẽ phải thực hiện một số chỉnh sửa văn bản trên tệp .csproj của mình.

+6

Cảm ơn, tôi đã sao chép điều này từ một dự án khác và giờ đây giống như bạn: {60dc8134-eba5-43b8-bcc9 -bb4bc16c2548}; {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} Benjol

+0

Không sao cả. Không có gì. –

+3

Nhìn vào câu trả lời này. Nó chi tiết cách thêm hỗ trợ WPF vào một dự án hiện có: http://stackoverflow.com/questions/450377/upgrading-a-winforms-app-to-wpf – santiagoIT

0

Thử chạy devenv /installvstemplates để đặt lại các mẫu đã cài đặt của bạn. Tôi đã sử dụng điều này trước khi điều khiển người dùng WPF bí ẩn biến mất khỏi danh sách thêm mới của tôi.

Trong dự án WPF của tôi, khi tôi nhấp vào Thêm tôi nhận các tùy chọn sau (bao gồm Cửa sổ).

Add New Options

Vì vậy, tôi e rằng đó là thiết lập của bạn.

16

Thêm phần này vào yếu tố <PropertyGroup> đầu tiên của bạn trong csproj của bạn:

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

Dưới đây là một ví dụ:

<?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> 

trở thành:

<?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

Mẹo hay! Làm việc cho tôi –

+0

Cố gắng này nhưng nếu tôi thêm thẻ đó, VS không tải dự án, nói với tôi "một dự án có cùng tên đã được mở trong giải pháp". Bất kỳ ý tưởng? –

+0

Không hiệu quả với tôi. –

0

không sử dụng Visual studio 2015 Microsoft Trộn ... để mở dự án của bạn .. mở p của bạn roject trong Visual Studio - Microsoft Visual Studio ,,, xem trong thanh tiêu đề

Các vấn đề liên quan