Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/asklar/winrtanalyzers
https://github.com/asklar/winrtanalyzers
Last synced: 4 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/asklar/winrtanalyzers
- Owner: asklar
- License: mit
- Created: 2024-06-11T22:50:11.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2024-06-12T05:09:26.000Z (4 months ago)
- Last Synced: 2024-06-13T08:09:45.603Z (4 months ago)
- Language: C++
- Size: 34.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# WinRT Analyzers
This project is a post-processing step that takes in WinMD files and runs analyzers.
These analyzers can emit diagnostics (e.g. to enforce best practices), as well as generate additional build artifacts that are consumed downstream.## Implemented analyzers
### OOPCOMServer
This analyzer automatically generates an APPX fragment to expose a WinRT object as a COM server.Example usage:
```csharp
namespace ConsoleApplication1 {
[attributeusage(target_runtimeclass)]
attribute ComServerAttribute
{
String Clsid;
String Executable;
}[attributeusage(target_runtimeclass)]
attribute DisplayNameAttribute
{
String DisplayName;
}[attributeusage(target_runtimeclass)]
attribute LaunchAndActivationPermissionAttribute
{
String SDDL;
}[ComServer("{C0A3D611-3E3D-4D0D-8D3D-3D3D3D3D3D3D}", "ConsoleApplication1.exe")]
[DisplayName("My COM Server")]
[LaunchAndActivationPermission("D:P(A;;GA;;;SY)(A;;GA;;;BA)")]
runtimeclass MyCOMServer
{
MyCOMServer();
void DoSomething();
}
}
```