Announcing
We have packaged this project into winrt. With the winrt version, we can use it in cpp/winrt and other projects. You can find the winrt version in winrt branch
.
How to use it
There are two way to reference it.
- Reference to the project directly
Fork this repository and change the branch to winrt
.
If your project is face to uwp, add this to your .vcproj
<ProjectReference Include="\path\to\AdvancedSharpAdbClient.WinRT.csproj">
<Project>{083cdc04-9cc2-46e4-84c2-55b645be9d50}</Project>
<SetTargetFramework>TargetFramework=uap10.0</SetTargetFramework>
</ProjectReference>
If your project is face to desktop, add this to your .vcproj
<ProjectReference Include="\path\to\AdvancedSharpAdbClient.WinRT.csproj">
<Project>{083cdc04-9cc2-46e4-84c2-55b645be9d50}</Project>
<SetTargetFramework>TargetFramework=net6.0-windows10.0.17763.0</SetTargetFramework>
</ProjectReference>
- Reference to the nuget package
Download AdvancedSharpAdbClient.WinRT.zip.
Unzip it into nupkgs
folder of the root path of your project
![image](https://private-user-images.githubusercontent.com/27689196/254497205-da648eb2-d505-4fd2-ac78-f534f1ad018b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk0MDUyNTksIm5iZiI6MTcxOTQwNDk1OSwicGF0aCI6Ii8yNzY4OTE5Ni8yNTQ0OTcyMDUtZGE2NDhlYjItZDUwNS00ZmQyLWFjNzgtZjUzNGYxYWQwMThiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI2VDEyMjkxOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTExYjdmNzA0NjAzNWM0NGViMDQ3N2QyZDRjMjM3YWE2NWRkOTlkNjA5YTFiY2ZmYjk1MTlkYmFkYmE4Zjk1MTYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.l_QQHjD1s1YloHYF8ISsAL32rOsaa6sZ3piHCuuKoMs)
Create nuget.config
into the root path of your project and add
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="Offline Nugets" value="nupkgs" />
</packageSources>
</configuration>
Open the manager of nuget and you will find it. Just install it like a normal nuget.
![image](https://private-user-images.githubusercontent.com/27689196/254498467-7d2ce405-5879-42e1-a27d-191a37ebb8f4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk0MDUyNTksIm5iZiI6MTcxOTQwNDk1OSwicGF0aCI6Ii8yNzY4OTE5Ni8yNTQ0OTg0NjctN2QyY2U0MDUtNTg3OS00MmUxLWEyN2QtMTkxYTM3ZWJiOGY0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI2VDEyMjkxOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA0Y2NhZjY0ZDA1NWVhYmIxNzgzOGY0N2M2ZGUxNDg0NGRlYWJhMTE2MDFiYmNkMzNlNzUyNTIzMTk4NmQ4YjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.2NZv_qwtX4cAZQyABHC0VLGz4qXBZJ-J2BS11Xm2N_Q)
After that, if your project is not packaged into appx or misx, remember to create ProjectName.exe.manifest
in the root of your project to register winrt class.
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="ProjectName"/>
<file name="WinRT.Host.dll">
<activatableClass
name="AdvancedSharpAdbClient.WinRT.AdbClient"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="AdvancedSharpAdbClient.WinRT.AdbCommandLineClient"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="AdvancedSharpAdbClient.WinRT.AdbServer"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="AdvancedSharpAdbClient.WinRT.AdbServerFeatures"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="AdvancedSharpAdbClient.WinRT.AdbSocket"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="AdvancedSharpAdbClient.WinRT.CrossPlatformFunc"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="AdvancedSharpAdbClient.WinRT.DateTimeHelper"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="AdvancedSharpAdbClient.WinRT.DeviceMonitor"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="AdvancedSharpAdbClient.WinRT.Factories"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="AdvancedSharpAdbClient.WinRT.SyncCommandConverter"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="AdvancedSharpAdbClient.WinRT.SyncService"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="AdvancedSharpAdbClient.WinRT.TcpSocket"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="AdvancedSharpAdbClient.WinRT.DeviceCommands.LinuxPath"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="AdvancedSharpAdbClient.WinRT.DeviceCommands.PackageManager"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
<activatableClass
name="AdvancedSharpAdbClient.WinRT.Logs.LogReader"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1" />
</file>
</assembly>