2016-07-19 28 views
7

Utworzyłem bibliotekę klasy .NET Core i spróbuję zbudować ją na podstawie struktury net40. Chcę użyć klasy Clipboard z zestawu System.Windows.Forms. Jak mogę to zrobić?Jak korzystać z System.Windows.Forms w bibliotece klasy .NET Core

Mój plik 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 
      } 
     } 
    } 
} 

Całe net40 specyficzny kod jest pod NET40 zdefiniowania. jakieś pomysły?

+0

.NET Core został stworzony w celu tworzenia stron internetowych i serwisów internetowych bez zależności systemu Windows. Jak do diabła musiałbyś uzyskać dostęp do schowka w tej aplikacji? –

+1

Tak, masz rację. Ale możesz także stworzyć prostą aplikację konsolową z .NET Core. Próbowałem utworzyć niestandardową konsolę dla moich potrzeb z funkcją kopiowania/wklejania, więc muszę skopiować dane ze schowka i wkleić je do mojej konsoli. –

+0

Musisz więc znaleźć inną klasę, która jest częścią .NET Core, aby pracować ze schowkiem lub przełączać się do aplikacji Console, która kieruje na "Legacy .Net". –

Odpowiedz

12

Co trzeba to "frameworkAssemblies", na przykład:

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

Praca z Clipboard wymaga również ustawienie głównego wątku jako STA, więc nie zapomnij dodać [STAThread] do Main() w aplikacji.

+0

Dzięki, stary. To działa! –

+5

jak to zrobić w nowym formacie pliku konfiguracyjnego .csproj? – ZEE