Làm cách nào để tham khảo System.Windows.Forms trong .NET Core 3.0 cho các ứng dụng WPF?


12

Tôi đang di chuyển ứng dụng máy tính để bàn WPF của mình từ .NET Framwork sang Core 3.0. Tôi đã sử dụng System.Windows.Forms.FolderBrowserDialog () và hiện đang bị mắc kẹt về cách thêm tham chiếu này vào dự án Core. Không có gói NuGet "System.Windows.Forms", có phải không? Có cách nào khác để hiển thị FolderBrowserDialog trong Core không?

Cập nhật

Tôi đã tạo dự án Core bằng cách sử dụng mẫu mặc định và sau đó sao chép các tệp .cs và .xaml đã dán vào nó. Tệp .csproj trông như thế này:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWPF>true</UseWPF>
  </PropertyGroup>

Tài liệu nói rằng lớp có mặt: docs.microsoft.com/pl-pl/dotnet/api/iêu - vui lòng dán tệp csproj - có thể TargetFramework bị sai.
Nhà nghỉ

Vui lòng kiểm tra câu hỏi cập nhật. Tôi cũng thấy trang này, nhưng trình biên dịch đưa ra lỗi The type or namespace name 'Forms' does not exist in the namespace 'System.Windows'và không có đề xuất nhập tham chiếu.
yaugenka

Câu trả lời:


17

Bạn cần thêm vào chuyển đổi bổ sung csproj:

<UseWindowsForms>true</UseWindowsForms>

Thêm nó bên dưới UseWpf . Sau đó thử xây dựng lại. Sau này, bạn sẽ có thể sử dụng không gian tên Forms.


Nó hoạt động! Cảm ơn bạn. Liệu sự hiện diện của cả hai công tắc có ảnh hưởng đến hiệu suất không? Nó chỉ là FolderBrowserDialog mà tôi cần từ Biểu mẫu.
yaugenka

Cảm ơn rất nhiều! Đã tìm kiếm một giải pháp cho vấn đề này. Nó hoạt động như một say mê!
Đánh dấu

1

Có vẻ như nó đã tồn tại: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.folderbrowserdialog?view=netcore-3.0

Đối với các sự cố chuyển khác, bạn có thể muốn sử dụng Gói Tương thích Windows được sử dụng để trợ giúp các ứng dụng chuyển sang .NET Core

Ngoài ra còn có một số thông tin khác liên quan đến WPF và vấn đề này, vì nó đã xuất hiện được một lúc. Điều này có thể hữu ích Chọn hộp thoại thư mục WPF và được cập nhật cho .NET Core.

Chúc may mắn với bản nâng cấp của bạn!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.