GitHub.com/Mono/T4 কে ধন্যবাদ , এই মুহুর্তে আপনি .NET কোর এবং ভিজ্যুয়াল স্টুডিও উভয়ের জন্য এটি করতে পারেন এটি আপনার .csproj
ফাইলে যুক্ত করে:
<ItemGroup>
<DotNetCliToolReference Include="dotnet-t4-project-tool" Version="2.0.5" />
<TextTemplate Include="**\*.tt" />
</ItemGroup>
<Target Name="TextTemplateTransform" BeforeTargets="BeforeBuild">
<ItemGroup>
<Compile Remove="**\*.cs" />
</ItemGroup>
<Exec WorkingDirectory="$(ProjectDir)" Command="dotnet t4 %(TextTemplate.Identity)" />
<ItemGroup>
<Compile Include="**\*.cs" />
</ItemGroup>
</Target>
আপনি ভালো কিছু যোগ করা উচিত আপনি বিভিন্ন প্রোগ্রামিং ভাষার আপনার টেমপ্লেট রুপান্তর যদি <Compile Remove="**\*.vb" />
এবং<Compile Include="**\*.vb" />
অর্ডার এই ফাইলগুলি কম্পাইল এমনকি যদি আপনি এখনো ফাইল উত্পন্ন না পেতে হবে।
Remove
এবং Include
কৌশলটি কেবল প্রথম বারের প্রজন্মের জন্য প্রয়োজন, বা আপনি এক্সএমএলকে আরও ছোট করতে পারেন:
<ItemGroup>
<DotNetCliToolReference Include="dotnet-t4-project-tool" Version="2.0.5" />
<TextTemplate Include="**\*.tt" />
</ItemGroup>
<Target Name="TextTemplateTransform" BeforeTargets="BeforeBuild">
<Exec WorkingDirectory="$(ProjectDir)" Command="dotnet t4 %(TextTemplate.Identity)" />
</Target>
এবং কেবল দুবার বিল্ড চালান (প্রথমবারের জন্য)। আপনি যদি ইতিমধ্যে সংগ্রহস্থলের প্রতিশ্রুতিবদ্ধ ফাইলগুলি তৈরি করে থাকেন তবে উভয় উদাহরণ দিয়ে পুনর্নির্মাণে কোনও সমস্যা হবে না।
ভিজ্যুয়াল স্টুডিওতে আপনি এর মতো কিছু দেখতে চাইতে পারেন:
এর পরিবর্তে:
সুতরাং আপনার প্রকল্প ফাইলে এই জাতীয় কিছু যুক্ত করুন:
<ItemGroup>
<Compile Update="UInt16Class.cs">
<DependentUpon>UInt16Class.tt</DependentUpon>
</Compile>
<Compile Update="UInt32Class.cs">
<DependentUpon>UInt32Class.tt</DependentUpon>
</Compile>
<Compile Update="UInt64Class.cs">
<DependentUpon>UInt64Class.tt</DependentUpon>
</Compile>
<Compile Update="UInt8Class.cs">
<DependentUpon>UInt8Class.tt</DependentUpon>
</Compile>
</ItemGroup>
এখানে সম্পূর্ণ উদাহরণ: GitHub.com/Konard/T4 GenericsExample (একক টেম্পলেট থেকে একাধিক ফাইলের জেনারেশন অন্তর্ভুক্ত)।