Potrzebujemy zdefiniować symbol kompilacji warunkowej w projekcie biblioteki klas. Nie powinno to być sprawdzane w kontrolerze źródłowym (nie dotyczy wszystkich programistów), więc powinno być zdefiniowane w innym miejscu niż plik .csproj lub app.config. Jak można to osiągnąć?Jak zdefiniować symbole kompilacji warunkowej w osobnym pliku (nie .csproj lub app.config)
Odpowiedz
Co mogę zrobić, to zdefiniować różne typy kompilacji w menedżerze konfiguracji (Build-> Configuration Manager) i skonfigurować każdą z wymaganych stałych dla każdego typu kompilacji. Następnie możesz kazać każdemu członkowi zespołu wybrać typ kompilacji, który chcesz zrobić, a automatycznie użyje odpowiednich stałych. (Myślę, że ostatnio używany typ kompilacji jest przechowywany w pliku .suo, który jest "opcją użytkownika rozwiązania" i zazwyczaj nie sprawdzałbyś kontroli źródła, więc byłby on utrzymywany specjalnie dla każdego użytkownika).
Możesz zdefiniować stałe procesorów wstępnych w wierszu komend kompilatora C#, używając /define. przełącznik. ale będziesz miał problem, jak to nazwać. Wszelkie zmiany w właściwościach projektu, które będą używane, zostaną zapisane w pliku csproj. Zamiast tego musiałbyś wykonać cały budynek z linii poleceń, na co na pewno nie będziesz chciał. Możesz także zdefiniować je w skryptach msbuild, ale będziesz miał ten sam problem.
To jest stare pytanie, ale przeczucie coś zmęczyło i zadziałało. Okazało się, że możesz definiować symbole warunkowe w pliku csproj.user
. Zakładam, że to samo będzie działać dla innych języków, ale nie próbowałem.
Po prostu dodaj coś takiego do csproj.user.
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DefineConstants>MySpecialConstant, TestBlahBlah</DefineConstants>
</PropertyGroup>
Tak naprawdę lubię rozwiązanie @SimonPStevens lepiej, ponieważ obejmuje ono TFS zamiast ukrywać. Czasami jednak jest to po prostu łatwiejsze ...
- 1. Dlaczego pojedynczych metod nie można zdefiniować w Symbole lub Fixnums?
- 2. Jak używać typów znaków do kompilacji warunkowej?
- 3. Jak dołączyć symbole kompilacji warunkowej do właściwości projektu za pomocą MSBuild?
- 4. Log4Net w osobnym pliku konfiguracyjnym
- 5. Parsowanie C# Instrukcja warunkowej kompilacji w Roslyn
- 6. Jak używać MKS-a do kompilacji i uruchamiania pliku csproj?
- 7. Zbuduj całe rozwiązanie, ale dodaj globalne symbole warunkowej kompilacji dla tylko jednego projektu.
- 8. Jak warunkowo wdrożyć plik app.config na podstawie konfiguracji kompilacji?
- 9. sprawiają .o pliki w osobnym folderze w Linux kompilacji jądra
- 10. Jak zdefiniować inny zakres kompilacji w SBT?
- 11. Delphi - Jak używać bardziej zdefiniowanych wartości w kompilacji warunkowej
- 12. Jak wykonać inicjowanie zmiennej warunkowej w czasie kompilacji?
- 13. Podać app.config inną nazwę po kompilacji?
- 14. Elementy wielokrotnego użytku PropertyGroup w pliku csproj
- 15. Stosując warunkowe symbole kompilacji w MVC widoki
- 16. Czy można zadeklarować klasę constexpr w nagłówku i zdefiniować ją w osobnym pliku .cpp?
- 17. duplikat kompilacji błąd symbole arclite.o
- 18. Jak zachować ścieżkę pliku w app.config
- 19. Jak zdefiniować symbole preprocesora w studiach wizualnych C#
- 20. mysqldump z db w osobnym pliku
- 21. Jak dołączyć informacje App.config do pliku referencyjnego w .NET?
- 22. Jak dołączyć pliki DLL do mojego pliku .csproj?
- 23. Mac: Jak wyeksportować symbole z pliku wykonywalnego?
- 24. Użyj pliku app.config z pliku fsx
- 25. pliku klasy projektu biblioteki .dll nie do kompilacji lub debugowania
- 26. Jak przetestować dyrektywy kompilatora ze stanem MSBuild w pliku .csproj?
- 27. Kiedy WCF korzysta z pliku app.config lub web.config?
- 28. app.config dependentAssembly nie działa
- 29. Jak zdefiniować zmienną w pliku szablonu Smarty?
- 30. Dlaczego nie mogę zdefiniować prostych funkcji C w pliku nagłówkowym?