2016-01-03 30 views
9

Obecnie używać szablonów T4 do generowania C# pliki kodu w oparciu o kod C# (podmiot POCO) oraz w EDMX (w starszych aplikacjach)Czy są jakieś alternatywy dla szablonów T4 i EnvDTE dla rozwoju platformy asp.net 5 na wielu platformach?

Przeprowadzka do ASP.NET 5 w celu wspierania przekrój rozwój platformy, czy są jakieś dostępne narzędzia do generowania kodu, które mogą odczytywać struktury danych o typach projektów & i generować pliki C# w czasie projektowania, podobne do szablonów T4?

Odpowiedz

3

Nawet szablony tt nie były wcześniej obsługiwane w projektach asp.net-5. Został dodany ostatnio (w Visual Studio 2015 Update 1).

dyskusja jest tutaj: https://github.com/aspnet/Home/issues/272

A w wątku, Eilon powiedział Roslyn jest droga do analizy kodu i generować nowe ... I znów powiedział, że zespół ASP ma natychmiastowy plan. Obecnie nie mamy rozwiązania od Microsoftu.

Ale przeprowadziłem wyszukiwanie i nie znalazłem żadnego narzędzia społecznościowego do generowania kodów opartych na innych kodach. :(

4

yeoman wydaje się być dobrym rozwiązaniem. Istnieją już generatory dla rusztowań aplikacji asp.net 5 i możesz je create your own generators

Jest to platforma krzyżowa i może być używana na Linux/Mac/Windows.

+0

czy za pomocą przeglądarki można przeglądać pliki CSS w bieżącym projekcie? Myślę, że tego właśnie szuka Mark (i ja). – AC4

+0

Nie jestem ekspertem od yomanów, po prostu wiem, że ludzie używają szablonów projektów w innych systemach operacyjnych dla rdzenia asp.net, gdzie nie mają pełnego studia wizualnego do generowania szablonów projektów, prawdopodobnie powinien google to lub zadaj to konkretne pytanie, jeśli nie możesz go znaleźć w Google. –

0

Szukałem tego samego, ale nie specjalnie z ASP.NET MVC, ale w różnych typach projektów, jak przejść do .NET Core.To trzymałem mój T4 opierając się na EDMX wcześnie. odkąd EF7 wykracza poza format pliku na korzyść kodu, gdzie planowałem pójście z moim generowaniem kodu, było połączenie ScriptCS i C# REPL. Roslyn komplikuje mi pewne rzeczy, ponieważ z tego, co rozumiem, nie ma czasu na projektowanie. Tak więc sztuczka może polegać na zrozumieniu i introspekcji plików CSS w ramach projektu:

0

Nowy LeMP preprocessing engine for C# może być użyty jako alternatywa dla szablonów T4. Czy mogę zapytać, co konkretnie rozumiesz przez "projekty klasy & struktur metadanych "?

+0

Używamy szablonów T4 do odczytywania właściwości z klas w ramach określonej przestrzeni nazw, a także do sprawdzania atrybutów właściwości.Są to generalnie pociski Entity Framework i generują standardowy kod CRUD po ich obejrzeniu. Spojrzę na LeMP. Dzięki. –

+0

Hmm, masz na myśli to, że z T4 możesz zrobić refleksję na .... co, referencje DLL w bieżącym projekcie? Nie możesz kontrolować innych klas (które nie zostały jeszcze skompilowane) w tym samym projekcie, prawda? Nie wiedziałem, że T4 ma taką możliwość. LeMP nie może w tej chwili nic zrobić. Czy możesz wskazać mi jakieś artykuły na temat tej możliwości? – Qwertie

+0

Tak, T4 odnosi się do EnvDTE, który jest Modelem Dokumentu dla Projektu Visual Studio, więc T4 może dokonywać iteracji, nie używając refleksji. Właśnie dlatego T4 jest dostępny tylko w VS, a nie na platformie. Idealnie chcielibyśmy, aby coś parsować klasy w taki sam sposób i mieć metody, aby uzyskać właściwości publiczne/wirtualne, sprawdzić konkretne atrybuty własności itp. .. trochę więcej informacji: http://t4-editor.tangible-engineering.com/blog/ walking-the-visual-studio-code-model-with-t4-template.html –

1

Możesz spróbować Scripty - to skrypt oparty na Roslyn.

  • Podświetlanie składni dla plików * .csx działa po wyjęciu z pudełka;
  • Istnieje rozszerzenie VS do przetwarzania skryptów przy zapisie;
  • Zadanie MSBuild służy do przetwarzania skryptów podczas procesu buld;
  • Skrypt umożliwia przechodzenie przez hierarchiczny model projektu;
  • Obsługiwanych jest wiele plików z pojedynczego skryptu;