Skip to content

Tools.Config.props ​

This file tells the build tool whether a project is an SDK or a plugin, whether to package it automatically, and whether to generate localization helpers.

The tool copies a default file into your project on the first build. You can also create it yourself:

Tools.Config.props
xml
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <IsPluginLoader>false</IsPluginLoader>
    <IsPlugin>false</IsPlugin>
    <AutoPluginPackage>true</AutoPluginPackage>
    <PluginMisxPackage>false</PluginMisxPackage>
    <AutoGenerateI18N>true</AutoGenerateI18N>
    <DebugSourceGenerator>false</DebugSourceGenerator>
  </PropertyGroup>
</Project>

Choose the project type ​

  • SDK: IsPluginLoader=true, IsPlugin=false.
  • Plugin: IsPluginLoader=false, IsPlugin=true.
  • Ordinary app: leave both false.

Enable only one of IsPluginLoader and IsPlugin.

Other switches ​

PropertyDefaultWhat it does
AutoPluginPackagetrueCreates an installation package when you build a plugin
PluginMisxPackagefalseAlso creates an MSIX package; requires a certificate
AutoGenerateI18NtrueGenerates localization helpers from resources in Strings
DebugSourceGeneratorfalseSaves generated plugin source in GeneratedFiles for inspection

You still write the plugin.json template yourself. The build tool fills in its variables and creates the final file. If you turn off automatic packaging, include metadata generation in your own build workflow; see Custom Packaging.

Turn on DebugSourceGenerator to see the generated code. Treat those files as a reference: make changes in your own source files, then rebuild.

See Internationalization and Quick Dependency Injection for localization and generated constructors.