2017-02-27 4 views
1

Ich rufe an: FullTrustProcessLauncher.LaunchFullTrustProcessForCurrentAppAsync();, um eine win32-Anwendung in meiner uwp-Anwendung zu starten. Dann versuche ich, die Verbindung zwischen meiner uwp und win32 Anwendung zu öffnen und eine Nachricht von uwp an win32 zu senden. Ich erstelle ein ValueSet valueSet = new ValueSet();Wo ist Windows.Foundation.UniversalApiContract?

Aber bei der Kompilierung, es klagt:

Error CS0433 The type 'ValueSet' exists in both 
'Windows.Foundation.FoundationContract, Version=2.0.0.0, Culture=neutral, 
PublicKeyToken=null, ContentType=WindowsRuntime' and 'Windows, 
Version=255.255.255.255, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime' 

ich manuell hinzufügen den Verweis auf C:\Program Files (x86)\Windows Kits\10\UnionMetadata\Windows.winmd der Lage sein, FullTrustProcessLauncher zu nennen, und ich glaube, ich die ValueSet innerhalb dieser Windows.winmd verwenden möchten .

ich verwirrt bin, wo ist die Windows.Foundation.FoundationContract, wie es in meinem Projekt? Wie könnte ich es entfernen?

Danke!

Antwort

1

ich es herausgefunden: ich falsch Windows.winmd in meiner UWP Anwendung verweisen. Wenn Sie eine win32-Anwendung als Teil einer uwp-Anwendung konvertieren. In der uwp-Anwendung sollten Sie auf "Windows Desktop Extensions for the UWP" verweisen. Wenn Sie in der win32-Anwendung uwp-Funktionen verwenden möchten, müssen Sie sich an Windows.winmd wenden.

0

Sie können Windows.Foundation.UniversalApiContract nicht entfernen, da es Teil von Windows SDK ist und Abhängigkeiten aufweist. Sie können für die Test-App auf die SDK-Version 10.0.14393.0 oder höher/niedriger aktualisieren.

Sie haben die SDK-Version 10.0.10586.0 wo ist UniversalApiContract Version 2.0.

Windows Universal Platform SDK API contracts

Windows SDK and emulator archive (to download & install)

Und Sie brauchen die Zielversion Ihrer UWP App zu wechseln.