-BundleExtraAssemblies |
-
-
-**Most mods should not change this option.**
+These are the options you can set.
+
+#### Common properties
+property | effect
+-------------- | ------
+`GamePath` | The absolute path to the Stardew Valley folder. This is auto-detected, so you usually don't need to change it.
+`GameModsPath` | The absolute path to the folder containing the game's installed mods (defaults to `$(GamePath)/Mods`), used when deploying the mod files.
+
+#### Mod build properties
+property | effect
+----------------- | ------
+`EnableHarmony` | Whether to add a reference to [Harmony](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Harmony) (default `false`). This is only needed if you use Harmony.
+`EnableModDeploy` | Whether to copy the mod files into your game's `Mods` folder (default `true`).
+`EnableModZip` | Whether to create a release-ready `.zip` file in the mod project's `bin` folder (default `true`).
+`ModFolderName` | The mod name for its folder under `Mods` and its release zip (defaults to the project name).
+`ModZipPath` | The folder path where the release zip is created (defaults to the project's `bin` folder).
+
+#### Specialized properties
+These properties should usually be left as-is.
+
+property | effect
+----------------------- | ------
+`EnableGameDebugging` | Whether to configure the project so you can launch or debug the game through the _Debug_ menu in Visual Studio (default `true`). There's usually no reason to change this, unless it's a unit test project.
+`IgnoreModFilePaths` | A comma-delimited list of literal file paths to ignore, relative to the mod's `bin` folder. Paths are case-sensitive, but path delimiters are normalized automatically. For example, this ignores a set of tilesheets: `assets/paths.png, assets/springobjects.png`.
+`IgnoreModFilePatterns` | A comma-delimited list of regex patterns matching files to ignore when deploying or zipping the mod files (default empty). For crossplatform compatibility, you should replace path delimiters with `[/\\]`. For example, this excludes all `.txt` and `.pdf` files, as well as the `assets/paths.png` file: `\.txt$, \.pdf$, assets[/\\]paths.png`.
+
+#### `BundleExtraAssemblies`
+_(Specialized)_ **Most mods should not change this option.**
By default (when this is _not_ enabled), only the mod files [normally considered part of the
mod](#Features) will be added to the release `.zip` and copied into the `Mods` folder (i.e.
@@ -205,44 +144,12 @@ but any other DLLs won't be deployed.
Enabling this option will add _all_ dependencies to the build output, then deploy _some_ of them
depending on the comma-separated value(s) you set:
-
-
- option |
- result |
-
-
-ThirdParty |
-
-
-Assembly files which don't match any other category.
-
- |
-
-
-System |
-
-
-Assembly files whose names start with `Microsoft.*` or `System.*`.
-
- |
-
-
-Game |
-
-
-Assembly files which are part of MonoGame, SMAPI, or Stardew Valley.
-
- |
-
-
-All |
-
-
-Equivalent to `System, Game, ThirdParty`.
-
- |
-
-
+option | result
+------------ | ------
+`ThirdParty` | Assembly files which don't match any other category.
+`System` | Assembly files whose names start with `Microsoft.*` or `System.*`.
+`Game` | Assembly files which are part of MonoGame, SMAPI, or Stardew Valley.
+`All` | Equivalent to `System, Game, ThirdParty`.
Most mods should omit the option. Some mods may need `ThirdParty` if they bundle third-party DLLs
with their mod. The other options are mainly useful for unit tests.
@@ -250,50 +157,30 @@ with their mod. The other options are mainly useful for unit tests.
When enabling this option, you should **manually review which files get deployed** and use the
`IgnoreModFilePaths` or `IgnoreModFilePatterns` options to exclude files as needed.
- |
-
-
-IgnoreModFilePaths |
-
-
-A comma-delimited list of literal file paths to ignore, relative to the mod's `bin` folder. Paths
-are case-sensitive, but path delimiters are normalized automatically. For example, this ignores a
-set of tilesheets:
+To do that, add an `ItemGroup` with a `ContentPacks` line for each content pack you want to include:
```xml
-assets/paths.png, assets/springobjects.png
+
+
+
+
```
- |
-
-
-IgnoreModFilePatterns |
-
-
-A comma-delimited list of regex patterns matching files to ignore when deploying or zipping the mod
-files (default empty). For crossplatform compatibility, you should replace path delimiters with `[/\\]`.
-
-For example, this excludes all `.txt` and `.pdf` files, as well as the `assets/paths.png` file:
+You can use these properties for each line:
-```xml
-\.txt$, \.pdf$, assets[/\\]paths.png
-```
-
- |
-
-