Rozwiązanie to tylko (całkiem niemy) kontener dla projektów. Jeśli otworzysz go w edytorze tekstu, szybko zobaczysz, że nie możesz go rozszerzyć, a jedynie dodawać projekty/elementy.
To, czego potrzebujesz, to jeden lub kilka typowych plików msbuild, określających wszystkie potrzebne opcje dla kompilatora/łącznika/dowolnych używanych narzędzi i Import
w każdym projekcie. Używamy tego od lat i jest to bardzo wygodne (chociaż częścią wygody jest prawdopodobnie to, że napisaliśmy też małe narzędzie do generowania plików projektu, aby automatycznie importować globalne właściwości, więc nie musimy z nimi mieszać ręcznie)
Można również dodać plik z rozszerzeniem komputera, zajrzyj do $ (MSBuildToolsPath) \ Microsoft.CSharp.targets, aby zobaczyć, gdzie umieścić te pliki. Nie zamierzam tu kopiować/wklejać zawartości, ale pierwsze linie w zasadzie sprawdzają, czy istnieją pliki zdefiniowane przez użytkownika w np. $ (MSBuildExtensionsPath) \ $ (MSBuildToolsVersion) \ $ (MSBuildThisFile) \ ImportBefore, a jeśli tak, to są one wszystko zaimportowane przed wszystkimi pospolitymi materiałami MSbuild. Podobnie koniec Microsoft.CSharp.targets zawiera podobną logikę do importowania plików po wszystkich typowych rzeczach msbuild.
Obawiam się, że trzeba napisać makro, ponieważ te ustawienia nie są przechowywane w rozwiązaniu. – rene
Możesz użyć tego samego zestawu reguł dla wielu projektów - zakładam, że już to robisz, i chcesz tylko uniknąć ręcznego określania tego pliku w każdym projekcie? –
Właśnie zacząłem zagłębiać się w te rzeczy. Muszę więc powiedzieć, że nie jestem naprawdę pewien. Myślałem, że zestawy reguł są zdefiniowane do analizy kodu i że jest to coś innego niż ostrzeżenia kompilatora. Do tej pory nie dotykałem zestawów reguł ... – jumbo