私はWPFとWindows 10で使用するライブラリを開発しています。後者でコンパイルする際に問題が発生しています。これはnet46
の罰金コンパイルしている間(伝統的な.NET Frameworkのある).NETコアライブラリでWindowsランタイムクラスを使用するには?
project.json
{
"frameworks": {
"net46": {
"frameworkAssemblies": {
"WindowsBase": "4.0.0.0"
}
},
"netcore50": {
"dependencies": {
"Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0"
}
}
}
}
Dependency.cs
using System;
using System.Collections.Generic;
#if NET46
using System.Windows; // .NET Framework 4.6
#elif NETCORE50
using Windows.UI.Xaml; // Windows 10 apps
#endif
public static class Dependency
{
public static DependencyProperty Register<T, TOwner>(string name, PropertyChangedCallback<T, TOwner> callback)
where TOwner : DependencyObject
{
// Code here....
}
}
:ここでは、コードの一部であります、私はnetcore50
(これはWindows 10のアプリケーションで使用できます)で動作するようになっています。なんらかの理由で、DependencyProperty
やDependencyObject
のようなタイプはその設定に含まれていないようです。
これらのタイプを含むnetcore50
互換のNuGetパッケージがありますか?私のライブラリから使用できますか?
ありがとうございます。
EDIT:私はちょうどVSでDependencyProperty
で入力し、F12を押してください。そのタイプはWindows.Foundation.UniversalApiContractアセンブリにありますが、NuGetにはこのようなパッケージはありません。
WPFのようなものはクロスプラットフォームのafaikには向いていませんが、興味があればPerspexのようなプロジェクトを見ることができます。 – Warty
@Warty .NET Coreは、プラットフォームに依存しないライブラリを作成できるだけでなく、*作成することも可能です。例えば'Microsoft.Win32.Registry'のようなパッケージを使うことができます。 –