VS: improve handling of source files with special extensions in .csproj

Mainly <Link> and <DependentUpon> tags are added to connect generated
and manually edited files. Special file extensions that are take care
of are:

 - .Designer.cs
 - .xaml.cs
 - .settings
 - .resx
 - .xaml
This commit is contained in:
Michael Stürmer
2017-01-17 16:09:38 +01:00
parent cab8f26211
commit 90cb408323
7 changed files with 229 additions and 20 deletions

View File

@@ -0,0 +1,12 @@
vs-advanced-source-properties
-----------------------------
* The :ref:`Visual Studio Generators` for VS 2010 and above
learned some more source file properties:
- :prop_sf:`VS_RESOURCE_GENERATOR` (C# only): allows setting the resource
generator
- :prop_sf:`VS_COPY_TO_OUT_DIR`: parameter to set if file should be copied
to output directory (values: ``Never``, ``Always``, ``PreserveNewest``)
- :prop_sf:`VS_INCLUDE_IN_VSIX`: boolean property to include file include
Visual Studio extension package

View File

@@ -19,7 +19,16 @@ vs-native-csharp-support
that specifically targets C# contains ``CSharp`` as a part of
their names.
* More finetuning of C# targets can be done using target
properties. Specifically the Visual Studio related target
* More finetuning of C# targets can be done using target and source
file properties. Specifically the Visual Studio related target
properties (``VS_*``) are worth a look (for setting toolset
versions, root namespaces, assembly icons, ...).
* **Auto-"linking"** in .csproj files: In C#/.NET development with
Visual Studio there is a number of visual editors used which
generate code. Both the generated files and the ones edited
with the UI are connected in the ``.csproj`` file using
``<DependentUpon>`` tags. If CMake finds within a C# project
any source file with extension ``.Designer.cs`` or ``.xaml.cs``,
it checks sibling files with extension ``.xaml``, ``.settings``,
``.resx`` or ``.cs`` and establishes the dependency connection.