2016-07-19 3 views
7

Я создал библиотеку классов .NET Core и попытаюсь создать ее с помощью инфраструктуры net40. Я хочу использовать класс Clipboard из сборки System.Windows.Forms. Как я могу это сделать?Как использовать System.Windows.Forms в .NET Core class library

Мой файл project.json:

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
     "NETStandard.Library": "1.6.0" 
    }, 

    "frameworks": { 
     "netstandard1.6": { 
      "imports": "dnxcore50", 
      "buildOptions": { 
       "define": [ 
        "NETCORE" 
       ] 
      }, 
      "dependencies": { 
       "System.Threading": "4.0.11", 
       "System.Threading.Thread": "4.0.0", 
       "System.Threading.Tasks": "4.0.11" 
       } 
     }, 
     "net40": { 
      "buildOptions": { 
       "define": [ 
        "NET40" 
        ] 
       }, 
      "dependencies": { 
       // dependency should be here but there is no such dll 
      } 
     } 
    } 
} 

Все мои net40 специфический код под NET40 определить. Есть предположения?

+0

.NET Core создан для создания веб-сайта и веб-службы без зависимости от Windows. Как, черт возьми, вам нужно получить доступ к буфере обмена в этом приложении? –

+1

Да, вы правы. Но также вы можете создать простое консольное приложение с .NET Core. Я попытался создать пользовательскую консоль для моих нужд с помощью функции копирования/вставки, поэтому мне нужно скопировать данные из буфера обмена и вставить ее в консоль. –

+0

Итак, вам нужно найти другой класс, который является частью .NET Core, для работы с буфером обмена или переключения на консольное приложение, которое предназначено для «Legacy .Net». –

ответ

12

Что вам нужно "frameworkAssemblies", например:

"frameworks": { 
    "netstandard1.6": { 
    "dependencies": { 
     "NETStandard.Library": "1.6.0" 
    } 
    }, 
    "net40": { 
    "frameworkAssemblies": { 
     "System.Windows.Forms": {} 
    } 
    } 
} 

Работа с Clipboard также требует установки основной поток как STA, так что не забудьте добавить [STAThread] к Main() в приложении.

+0

Спасибо, человек. Оно работает! –

+5

как сделать то же самое в новом формате файла конфигурации .csproj? – ZEE