æ¢åã®Win32ã¢ããªãWindows Storeã§å ¬éãããWindows 10Sã§å®è¡ããã«ã¯ãDesktop Bridgeã§UWPã«è¦ãããããããªããã§ãããã±ã£ã¨ã¿ãããããã©ããããã«è¦ãããã§ããã§ãMSDNã«è£æãæ¸ãã¦ãã£ãã®ã§è©¦ãã¦ã¿ã¾ããã
â»ä»åãã£ããã¨ã¯MSDNã«å ¨é¨æ¸ãã¦ããã¾ããVisual Studio による .NET デスクトップ アプリ用デスクトップ ブリッジ パッケージ ガイド - UWP app developer | Microsoft Docsã®ã¹ããã1 å¤æã®åæã該å½ãã¾ãã
ãããã
ãããããã¹ãªã¼ããã¦ã人ãå¤ãã§ãããWin32ã¢ããªãUWPã«å¤æããããã«Desktop App Converter (DAC)ã¯å¿ é è¦ä»¶ã§ã¯ãããã¾ããããDesktop App Converterã¯ã¤ã³ã¹ãã¼ã©ãåå¨ããæ¢åã®Win32ã¢ããªãããç¨åº¦èªåã§å¤æããããã®ä»çµã¿ã§ãã
DACããã£ã¦ããã¨ã¯åç´ã§ä»®æ³ãã·ã³èµ·åãã¦ããã®ä¸ã§ã¤ã³ã¹ãã¼ã©å®è¡ãã¦ãã¤ã³ã¹ãã¼ã©ãçµäºããæç¹ã§ã®ãã¡ã¤ã«ã·ã¹ãã ã¨ã¬ã¸ã¹ããªã®å·®åãååããã ãã®ä»çµã¿ã§ããDesktop Bridgeèªä½ã¯DACéä¾åãªã®ã§ãUWPã«å«ããããã±ã¼ã¸ãèªåã§ä½ããã®ã§ããã°ãDACãªãã¦ä½¿ããªãã¦ããããã§ãã
çµå±ã¯Desktop Bridgeã§å¤æãããWin32ã¢ããªã¯ãAppxã®ä¸ã«Win32ã®å®è¡ãã¡ã¤ã«ãå ¥ã£ã¦ãã ãã®ãããªãAppxããã±ã¼ã¸ã§ãã
ãªã®ã§ãããã«ZIPãã¦ãã ãã®ã¢ããªãUWPã«ããããããã ãã«ã¤ã³ã¹ãã¼ã©æ¸ãã¨ãå®å ¨ã«ééãã§ãMSDNè¦ãããã£ã¨ç°¡åãªæ¹æ³ããã£ãã®ã§ãã£ã¦ã¿ã¾ãããä»åã¯ã³ã¼ãã¹ããããã¨ãç»åå¤ãã§ãéããã¾ãã
æºå
ã¾ãå¤æãããã¢ããªãç¨æãã¾ãã
MSDNã§ç´¹ä»ããã¦ããã®ã¯ã.NETã¢ããªãªã®ã§WPFã¨ãã®ã該å½ãã¾ããããæå ã«ãããªãã®ã¯ãªãã£ãã®ã§Azureaãå¤æãã¦ã¿ã¾ããMSDNã«ããã®ã¨ãä»å試ããã®ã®å¤§ããªéãã¯.NETãC++ Nativeãã§ããMSDNã§ã¯.NETã¢ããªãªã®ã§ãAny CPUã§ãã£ãã¼ï¼*1ã¨ãæ¸ãã¦ã¾ããã©ãããæ®å¿µãªãããã¤ãã£ãã³ã¼ããªã®ã§x86ã¨x64ã§å®è¡ã³ã¼ãéãããããããAnyã«ãããx86ã§è©°ãããâ¦ã¨ãããã®ã§ãã®è¾ºãåé¿ãã¦ãã¾ãã
ãã®æç¹ã§ã½ãªã¥ã¼ã·ã§ã³ã¯ã¾ã ããã§ãããããããããããã£ã¦ããã¾ãã
JavaScript UWPããã¸ã§ã¯ãã®è¿½å
ä½åº¦ãè¨ãã¾ããã©ãDesktop Bridgeã§å¤æãããWin32ã¢ããªã¯ãAppxã®ä¸ã«Win32ã®å®è¡ãã¡ã¤ã«ãå ¥ã£ã¦ãã ãã®ãããªãAppxããã±ã¼ã¸ã§ãããªã®ã§ãç°¡åã«ããã±ã¼ã¸ãä½ãã«ã¯ãUWPããã¸ã§ã¯ãã«ãã¡ã¤ã«è¿½å ãã¦ãããã§ã¹ãç·¨éããã®ãä¸çªæ¥½ãªãã§ããã¹ãã¢ç¨ã®ç½²åã¨ããå ¨é¨åæã«ãã£ã¦ããããã
ã¨ãããã¨ã§ãã¾ãã¯JavaScript UWPããã¸ã§ã¯ãã追å ãã¾ãããã¼ããã«JavaScript UWPããã¸ã§ã¯ããããã«ãã«ãã¦ãDesktop Bridgeã§å®è¡ãããWin32ã¢ããªãå«ãã Appxãä½ãã¾ãããªãã§JavaScriptãªã®ãã¨ããã¨ãæåã®MSDNã®ãã¼ã¸ã®ä¸çªæå¾ã«ã¡ãã£ã¨æ¸ãã¦ããã¾ãã
- Debug ã§ã¢ããªããã«ãããã¨ã次ã®ãããªã¨ã©ã¼ãåºåããã¾ããMicrosoft.Net.CoreRuntime.targets(235,5): ã¨ã©ã¼: ã«ã¹ã¿ã ã¨ã³ã㪠ãã¤ã³ããæã¤ã¢ããªã±ã¼ã·ã§ã³ã®å®è¡å¯è½ãã¡ã¤ã«ã¯ãµãã¼ãããã¦ãã¾ããã ããã±ã¼ã¸ ãããã§ã¹ãã§ã® Application è¦ç´ ã® Executable å±æ§ã確èªãã¦ãã ããã ãã®åé¡ãåé¿ããã«ã¯ã代ããã« Release ã¢ã¼ãã使ç¨ãã¾ãã
- UWP ããã¸ã§ã¯ãã®ã«ã¼ã ãã©ã«ãã¼ã«æ ¼ç´ããã¦ãã Win32 ãã¤ããªã¯ãRelease ã§ã¯åé¤ããã¾ãã Win32 ãã¤ããªãæ ¼ç´ãããã©ã«ãã¼ã使ç¨ããªãå ´åã.NET Native ã³ã³ãã¤ã©ã¯æçµçãªããã±ã¼ã¸ãããããã®ãã¤ããªãåé¤ãã¾ããããã«ãããå®è¡å¯è½ãã¡ã¤ã«ã®ã¨ã³ã㪠ãã¤ã³ããè¦ã¤ãããªãããããããã§ã¹ãã®æ¤è¨¼ã¨ã©ã¼ãåºåããã¾ãã
ã¨ãããã¨ãªã®ã§å ¨ã話ã«ãªãã¾ãããJavaScript UWPããã¸ã§ã¯ãã¯åãªãHTMLã表示ããã ãã®ãããã§ã¹ãã§ãã«ãããªã«ãããªãããä½è¨ãªãã¨ä½ãããªãã®ã§ã試ãã¦ã¿ãããã¾ãã¾ãã¾ãããã¾ãããã¨ãããããæããªãã§ãããããã£ã¨ã
æ®æ®µC#ã¨ãVBã§UWPæ¸ãã¦ã人ã¯ãããããã¨ã¤ã³ã¹ãã¼ã«ãããã¦ãªããããããªãJavaScriptãé¸æãã¦ãBlank Appãä½æãã¾ããååã¯ãã¢ããªã®åå.Packageãã¨ãã«ãã¨ãã¨åãããããã¨æãã¾ããä»åå¤æãããã®ã¯Azureaãªã®ã§Azurea.Packageã¨ããååã§ããã¸ã§ã¯ããä½ãã¾ããã
ããã¸ã§ã¯ãä½ã£ãã¨ãã«èãããã¿ã¼ã²ãããã¼ã¸ã§ã³ã§ãããã©ããå¾ã§æ¸ãæãã¡ããã®ã§ã好ããªæãã§çµæ§ã§ãã
ããã¸ã§ã¯ããåºæ¥ä¸ããã¨ãã½ãªã¥ã¼ã·ã§ã³ããããªæãã«ãªãã¾ãã
ããã¦Visual Studioã§ã¯èªåçã«main.jsãéããã¦
// Your code here!
ã¨ãè¨ã£ã¦ã¾ããããã®ãã¡ã¤ã«ãå ¥ã£ã¦ããã£ã¬ã¯ããªãå«ãã赤丸ã®é¨åã¯ä¸è¦ãªã®ã§åé¤ãã¾ãã
ãã£ãããã¾ããã
imagesã«ã¯ãã¢ããªã®ã¢ã¤ã³ã³ã¨ããå ¥ã£ã¦ããããã®ã§ãã®ã¾ã¾ç½®ãã¦ããã¾ããï¼ãã¨ã§ä½¿ãã¾ãï¼
Win32å®è¡ãã¡ã¤ã«ã®è¿½å
ããã«ãã«ããJavaScript UWPããã¸ã§ã¯ãã®æºåãã§ããã®ã§ãAppxã«å«ãããã¡ã¤ã«ã追å ãã¦ããã¾ãã
MSDNã®æé ã«ãã£ã¦ãwin32
ã¨ãããã©ã«ããä½ãã¾ãã
å¥ã«ããwin32ã§ããå¿ è¦ã¯ã¾ã£ãããªãã¦ããããããããã ããwin32ãªã ãã§ããappã¨ããapplicationã¨ãprogramã¨ããªãã§ã大ä¸å¤«ã§ãããªãã§ä½ã§ããããã¨ããã¨ãWin32ã®å®è¡ãã¡ã¤ã«ãAppxã«ããã±ã¼ã¸ã³ã°ããã¦ãããã¨ã大äºã§ãå®è¡ããWin32å®è¡ãã¡ã¤ã«ã®ãã¹ã¯appxmanifestã§æå®ããã®ã§æ¬å½ã«ãªãã§ãããã§ãããªãã§ããããã§ããã©ãMSDNã§win32ã£ã¦æ¸ãã¦ãã®ã§ãã¨ãããããã®ã¾ã¾win32ã§é²ãã¾ãã
次ã«ãã¢ããªã±ã¼ã·ã§ã³ãå®è¡ã«å¿ è¦ãªãã¡ã¤ã«ãwin32ã®ä¸ã«ããå ·åã«è¿½å ãã¾ããã¨ãããããReleaseãã«ãããçµæãã¨ã¯ã¹ããã¼ã©ãããã©ãã°ï¼ããããã§è¿½å ãã¦ã¿ã¾ããã
ãã®æpdbããããªã追å ããã®ããã¤ã³ãã§ã*2ãpdbã追å ãã¦ããã¨ãAppxã®ããã±ã¼ã¸ã³ã°ããã»ã¹ã®ä¸ã§pdbã ãåãåºããã¦ãã¤ãã®UWPã¿ããã«appxsymã«ãã¦ããã¾ãããã²è¿½å ãã¾ãããã
ãã¡ã¤ã«ã追å ããããwin32é ä¸ã®ãã¡ã¤ã«ããã¹ã¦ã³ã³ãã³ãã¨ãã¦ãã¼ã¯ãã¾ããã³ã³ãã³ãã«ããªãã¨Appxã®ãªãã«ãã¾ãå«ãã¦ããã¾ããã
åºåãã£ã¬ã¯ããªã«ã³ãã¼ã«ã¤ãã¦ãæ°ãããã°ã³ãã¼ãããããã¯ã常ã«ã³ãã¼ããã«ãã¾ãã
ããã¾ã§æ¥ããåºæ¬çã«ã¯ã ãããçµããã§ããããã¾ãç°¡åã§ãããã£ã¦æãã§ãã
appxmanifestã®ç·¨é
ããã±ã¼ã¸ã®ã³ã³ãã³ãã«Win32å®è¡ãã¡ã¤ã«ã®å®è¡ã«å¿ è¦ãªãã¡ã¤ã«ã追å ãããã§ãããæåã§ã³ãã¼ãã¾ãããããã ã¨ãæ¯åã³ãã¼ããªãã¨ãããªãã¦é¢åãªãã§ãããããã®å¯¾å¿ã¯ã¡ãã£ã¨å¾åãã«ãã¦appxmanifestãç·¨éãã¾ãã
æ®å¿µãªããDesktop Bridgeå¨ãã¯UIã§ç·¨éã§ããªãã®ã§æä½æ¥ã§ç·¨éãã¾ããã¾ãã¯package.appxmanifestãå³ã¯ãªãã¯ãã¦ãã³ã¼ãã表示ãã¾ãã
ããã¨ããããXMLã表示ããã¾ãã
<?xml version="1.0" encoding="utf-8"?> <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" IgnorableNamespaces="uap mp"> <Identity Name="0f891c8e-ba95-4518-b6ab-b73741a82090" Version="1.0.0.0" Publisher="CN=yutaka" /> <mp:PhoneIdentity PhoneProductId="0f891c8e-ba95-4518-b6ab-b73741a82090" PhonePublisherId="00000000-0000-0000-0000-000000000000" /> <Properties> <DisplayName>Azurea.Package</DisplayName> <PublisherDisplayName>yutaka</PublisherDisplayName> <Logo>images\storelogo.png</Logo> </Properties> <Dependencies> <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" /> </Dependencies> <Resources> <Resource Language="x-generate" /> </Resources> <Applications> <Application Id="App" StartPage="index.html"> <uap:VisualElements DisplayName="Azurea.Package" Description="Azurea.Package" BackgroundColor="transparent" Square150x150Logo="images\Square150x150Logo.png" Square44x44Logo="images\Square44x44Logo.png"> <uap:DefaultTile Wide310x150Logo="images\Wide310x150Logo.png" /> <uap:SplashScreen Image="images\splashscreen.png" /> </uap:VisualElements> </Application> </Applications> <Capabilities> <Capability Name="internetClient" /> </Capabilities> </Package>
MSDNã«æ¸ãã¦ããå 容ãé çªã«åæ ãã¦ããã¾ãã
ã¾ãPackage
ã¿ã°ã«xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
ã追å ãã¾ããããã«ãPackage
ã¿ã°ã®IgnorableNamespaces
ã«rescap
ã追å ãã¾ããIgnorableNamespaces
ã¯ã¹ãã¼ã¹åºåããªã®ã§ãuap mp rescap
ã«ãªãã¾ãã
追å ããPackage
ã¿ã°ã¯ãããªãã¾ãã
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" IgnorableNamespaces="uap mp rescap">
次ã«Dependencies
ã¿ã°ã«ããTargetDeviceFamily
ã<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.351" MaxVersionTested="10.0.14393.351" />
ã§ç½®ãæãã¾ã*3ãç½®ãæããDependenciesã¯ãããªãã¾ãã
<Dependencies> <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.351" MaxVersionTested="10.0.14393.351" /> </Dependencies>
Capabilites
ã¿ã°ã«<rescap:Capability Name="runFullTrust" />
ã追å ãã¾ããããã§Appxãå®å
¨ä¿¡é ¼ã§å®è¡ãããããã«ãªãã¾ã*4ã追å ããã¨ãããªãã¾ã*5ã
<Capabilities> <rescap:Capability Name="runFullTrust" /> <Capability Name="internetClient" /> </Capabilities>
æå¾ã«ã¢ããªã®ã¨ã³ããªãã¤ã³ããè¨å®ãã¾ããApplication
ã¿ã°ã«Executable
å±æ§ã¨EntryPoint
å±æ§ãæå®ãã¾ãããã®æãExecutable
å±æ§ã«ã¯ãå®è¡ãã¡ã¤ã«ã®Appxå
ã®ç¸å¯¾ãã¹ã*6ãEntryPoint
å±æ§ã«ã¯Windows.FullTrustApplication
ãæå®ãã¾ããä»åå¤æããAzureaã¯Azurea.exeãå®è¡ãã¡ã¤ã«åãªã®ã§ãããããè¨å®ããã¨ãããªãã¾ããã
<Application Id="Azurea" Executable="win32\Azurea.exe" EntryPoint="Windows.FullTrustApplication">
ããã§ææ¸ãã§ç·¨éããªãã¨ãããªãé¨åã¯ããã¾ãã§ãããã¨ã¢ã¤ã³ã³ã¨ãã¯ãã¤ãéãGUIããçæã¨ããã¡ãã£ã¦å¤§ä¸å¤«ã§ãã
ããã¾ã§å ¨é¨å¤æ´ããXMLã¯ãããªãã¾ãã
<?xml version="1.0" encoding="utf-8"?> <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" IgnorableNamespaces="uap mp rescap"> <Identity Name="0f891c8e-ba95-4518-b6ab-b73741a82090" Version="1.0.0.0" Publisher="CN=yutaka" /> <mp:PhoneIdentity PhoneProductId="0f891c8e-ba95-4518-b6ab-b73741a82090" PhonePublisherId="00000000-0000-0000-0000-000000000000" /> <Properties> <DisplayName>Azurea.Package</DisplayName> <PublisherDisplayName>yutaka</PublisherDisplayName> <Logo>images\storelogo.png</Logo> </Properties> <Dependencies> <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.351" MaxVersionTested="10.0.14393.351" /> </Dependencies> <Resources> <Resource Language="x-generate" /> </Resources> <Applications> <Application Id="Azurea" Executable="win32\Azurea.exe" EntryPoint="Windows.FullTrustApplication"> <uap:VisualElements DisplayName="Azurea.Package" Description="Azurea.Package" BackgroundColor="transparent" Square150x150Logo="images\Square150x150Logo.png" Square44x44Logo="images\Square44x44Logo.png"> <uap:DefaultTile Wide310x150Logo="images\Wide310x150Logo.png" /> <uap:SplashScreen Image="images\splashscreen.png" /> </uap:VisualElements> </Application> </Applications> <Capabilities> <rescap:Capability Name="runFullTrust" /> <Capability Name="internetClient" /> </Capabilities> </Package>
ãã®ç¶æ ã§Appxmanifestã®GUIã¨ãã£ã¿ãéãã¨ã¹ã¿ã¼ããã¼ã¸ãè¨å®ããã¦ãªããã¨ãè¨ã£ã¦ãã¾ãã
ãã®ãã©ã¡ã¼ã¿ã¯æ¬æ¥Application
ã¿ã°ã«è¨å®ããã¦ãããã§ããããã£ãæ¶ãã¡ãã£ãã®ã§ãããªã¨ã©ã¼ãã§ã¾ããåºããã§ãããAppxä½ãããã§ä½ãèµ·ããããªãã®ã§ãã¾ãæ°ã«ãããã®ã¾ã¾æ¾ã£ã¦ããã¾ãã
ããã±ã¼ã¸ã®ãã«ã
ãã¨ã¯ãããã«ããããã§ããããã§ããããã¸ã§ã¯ããå³ã¯ãªãã¯ãã¦ãã¹ãã¢ãã¢ããªããã±ã¼ã¸ã®ä½æã§ã§ãã¾ãã
ãã®å ã¯æ®æ®µã®UWPã®ãã«ãã¨å¤ãããªãã®ã§å²æãã¾ããã²ã¨ã¤ã ã注æããç¹ããã£ã¦ãããã±ã¼ã¸ã®ã¢ã¼ããã¯ãã£ã®æå®ã§ãã
.NETã§WPFã¿ãããªILã ãã®ã¢ããªã®å ´åã¯Neutralã«Any CPUãæå®ãã¾ããããã§OKã§ãããã以å¤ã®äººã¯ãx86ã¨x64ã«ãã§ãã¯ãå ¥ãã¦ããããããã«ããã¾ãããããã°ããããã¨ããã±ã¼ã¸ãåºåããã¾ããã¤ã³ã¹ãã¼ã«ã¨ããã¦è©¦ãã¦ã¿ãã¨ããã¨æãã¾ãã
ããã±ã¼ã¸ã«å«ããã³ã³ãã³ããèªåã§æ´æ°ãã
ããã¾ã§ã§ã§ããAppxã®ä¸èº«ãæ´æ°ããã«ã¯æ¯åæä½æ¥ã§ã³ãã¼ãã¦ãããªãã¨ãããªãã¦ãã£ãããã®ã§èªåã§ããã¾ãããããããä»åã®Azureaã¯ãã¤ãã£ãã³ã¼ããªã®ã§x86/x64ã®ããã±ã¼ã¸ãå¥ã ã«çæããªãã¨ãããªãã¦æ¯åã³ãã¼ãªãã¦ããã©ãããã¦ãã£ã¦ããã¾ããã
ããããå®ç¾ããããã«ã¹ã¯ãªãããæ¸ãã¾ããä»æãªãPowerShell使ããã£ã¦æããªãã§ãããPowerShellåãä½ãã®ã§ããããã¡ã¤ã«æ¸ãã¾ãã
ã¾ããwin32ã®ä¸èº«ãã¯ãªã¼ã³ãããã¤ã§ãããããcleanup.bat
ã¨ãã¾ããçµäºã³ã¼ãã0ãããªãã¨ãã«ããæ¢ã¾ã£ã¦ãã¾ãã®ã§ã¨ããããexit 0
ãã¦ã¾ãã
del /Q win32\Azurea.exe del /Q win32\Azurea.pdb del /Q win32\AzLang.dll del /Q win32\AzLang.pdb del /Q win32\ColorSchemes\* del /Q win32\Language\* exit 0
次ã«ãããã¸ã§ã¯ãã®åºåãéãã¦win32ãã£ã¬ã¯ããªã«ã³ãã¼ãããã¤ã§ããããã¯copyfiles.bat
ã¨ãã¾ããAppxããã±ã¼ã¸ãã«ãæã®ãã©ãããã©ã¼ã åã使ã£ã¦ã³ãã¼ãããã£ã¬ã¯ããªãæ¯ãåãã¦ãã¾ãã
@echo off echo Packaging for %* set build=%1% set arch=%2% mkdir win32 if "%arch%"=="x64" goto copy_amd64 if "%arch%"=="x86" goto copy_x86 goto undefined_platform :copy_amd64 copy ..\x64\%build%\Azurea.exe win32\Azurea.exe copy ..\x64\%build%\Azurea.pdb win32\Azurea.pdb copy ..\x64\%build%\AzLang.dll win32\AzLang.dll copy ..\x64\%build%\AzLang.pdb win32\AzLang.pdb goto copy_noarch :copy_x86 copy ..\%build%\Azurea.exe win32\Azurea.exe copy ..\%build%\Azurea.pdb win32\Azurea.pdb copy ..\%build%\AzLang.dll win32\AzLang.dll copy ..\%build%\AzLang.pdb win32\AzLang.pdb goto copy_noarch :copy_noarch mkdir win32\ColorSchemes mkdir win32\Language xcopy ..\Azurea\ColorSchemes win32\ColorSchemes /-Y /E xcopy ..\Language win32\Language /-Y /E goto EOF :undefined_platform echo "Undefined platform " %arch% exit 1 :EOF
ãããã¯ããã¸ã§ã¯ãã®ä¸ã®scriptsã¨ãããã£ã¬ã¯ããªã«ã¾ã¨ãã¦ä¿åãã¾ããã
次ã«ããããå¼ã³åºãã¦ããããªãã¨ããã¾ãããã¨ãããã¨ã§ã¾ãJavaScript UWPããã¸ã§ã¯ããã¢ã³ãã¼ããã¾ãã
次ã«ãã¢ã³ãã¼ãããããã¸ã§ã¯ããå³ã¯ãªãã¯ãã¦ãç·¨éãé¸æãã¾ãã
表示ãããXMLãä¸ã®ã»ãã¾ã§ã¹ã¯ãã¼ã«ãã¦ãæå¾ã«ãããªã®ã追å ãã¾ãã
<Target Name="BeforeBuild"> <Exec Command="scripts\cleanup.bat" /> <Exec Command="scripts\copyfiles.bat $(Configuration) $(Platform)" /> </Target> <PropertyGroup> <DisableFastUpToDateCheck>true</DisableFastUpToDateCheck> </PropertyGroup>
追å ãããä¿åãã¦éãã¾ããããããã®æå³ã§ããã
BeforeBuild
ãã«ãåã«å®è¡ããã¿ã¹ã¯ã§ãã$(Configuration)
ãã«ãè¨å®ã§ãRelease
ã¨ãDebug
ã¨ãå ¥ã£ã¦ãã¾ãã$(Platform)
ã¢ã¼ããã¯ãã£ã§x86
ã¨ãx64
ã¨ãå ¥ã£ã¦ã¾ãã
ããã§Appxã®ãã«ãæã«èªåã§ã³ãã¼ãããããã«ãªã£ã¦ããæãã«ãªãã¾ããã
èªåã§è¿½å ã§ããããã«ããã¨ãã³ãã¼ãããã¡ã¤ã«ãã³ã³ãã³ãã§ãã¼ã¯ããã®ãé¢åã«ãªãã¾ãããã®å ´åã¯ãåãããã«ãããã¸ã§ã¯ããã¢ã³ãã¼ããã¦ãç·¨éãã¦ãContent
ã¿ã°ã«ã¯ã¤ã«ãã«ã¼ããæå®ãã¦ãããã¨ããæãã«ãªãã¾ãã
Azureaã§ã¯ãããªæãã§æå®ãã¦ã¾ãã
<ItemGroup> <Content Include="win32\Azurea.exe"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> <Content Include="win32\AzLang.dll"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> <Content Include="win32\Azurea.pdb"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> <Content Include="win32\AzLang.pdb"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> <Content Include="win32\ColorSchemes\*.txt"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> <Content Include="win32\Language\*.*"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> </ItemGroup>
ããã¾ã
MSDNã§ã¯.NETã¢ããªã®ã¿ã対象ã¨ãã¦JavaScript UWPããã¸ã§ã¯ããããã«ãã«ãã¦Desktop BridgeãªAppxãä½ãæ¹æ³ãç´¹ä»ããã¦ã¾ããããæ®éã®Nativeã¢ããªã±ã¼ã·ã§ã³ã§ã工夫ããã°ã©ãã£ã¦ãã¨ãªãã£ãã§ãã
ä»åã®ã¨ã³ããªã¯ããã±ã¼ã¸ãä½æããã¨ããã¾ã§ã§ãããç½²åéµãã¹ãã¢ç³è«ç¨ã«å¤æ´ããããã«ããã±ã¼ã¸ã¨äºç´åãé¢é£ä»ããã¨ãã¯ãé常ã®UWOã¨ãããªãã§ããããè¨äºãããããããã®ã§åèã«ãã¦ã¿ãã¨ããã¨æãã¾ãã
ã¡ãªã¿ã«ãã§ãããç¾ç¶Desktop Bridgeã使ã£ãFull TrustãªAppxã¯é常ã®æ¹æ³ã§ã¯ã¹ãã¢ã«æåºã§ãã¾ãããã ããã§ããFull TrustãªAppxãæåºã§ãããã©ã°ãã¢ã«ã¦ã³ãã«ã¤ãã¦ããããªãã¨ãããªãã®ã§ãDesktop Bridge ãæ´»ç¨ãã¦ãæ¢åã®ã¢ããªãã²ã¼ã ã Windows ã¹ãã¢ã«ç§»è¡ãã¾ãããã®ãã©ã¼ã ãéä¿¡ããå¿ è¦ãããããã§ã*7ã
*1:å®è¡ã³ã¼ãã¯ILã§æ¸ãã¦ãã£ã¦CLRã§å®è¡ãããã®ã§
*2:MSDNã«æ¸ãã¦ãªããã©
*3:MSDNã«10.0.14393.0ã£ã¦æ¸ãã¦ã¾ãããã©ããDesktop Bridgeã«ãã°ããã£ã¦WindowsãBSODãããã¨ããããããããã®åé¡ãä¿®æ£ããã10.0.14393.351ãæå®ããã»ããããããã§ãã
*4:Run Full Trust ããããã«ãã¯ã¼ããã
*5:ã¡ãªã¿ã«runFullTrustãªã¢ããªã¯AppContainerã§å®è¡ãããªãã®ã§internetClient capabilityã¨ãæ¸ãã¦ãæ¸ããªãã¦ãããã¾ãæå³ã¯ããã¾ããã
*6:ãªã®ã§ããã¸ã§ã¯ãã«ä½ã£ãwin32ã¨ãããã£ã¬ã¯ããªåã¯ãªãã§ãããã£ãã®ã§ãã
*7:å æ¥ãã£ãã°ãããªã®ã§å®éã©ããªã£ã¦ãã®ãã¯ãããããã¾ãã