Ответ 1
Как хранится действие сборки? В csproj Примечание. Скомпилируйте созданный файл класса с действием сборки компиляции
Примечание. Скомпилируйте generateFile.cs с действием сборки None
Итак, теперь установите его в None.
Хорошо один шаблон T4, который изменяет sqlproj. Примечание.. Это сохранение нового файла для sqlproj вместо написания вашего существующего sqlproj, как вы хотите, как минимум:
- Резервное копирование sqlproj
- Тестирование нового файла
- Измените это для резервного копирования sqlproj на всякий случай.
- У вас есть уникальное имя файла в качестве цели.
- Имейте это как отдельный шаблон T4
-
Запустите это после своего настраиваемого инструмента
<#@ template debug="true" hostSpecific="true" #> <#@ output extension=".cs" #> <#@ Assembly Name="System.Core" #> <#@ import namespace="System" #> <#@ import namespace="System.IO" #> <#@ import namespace="System.Collections.Generic" #> <# string file = @"C:\...\MyProject.sqlproj"; string [] lines = System.IO.File.ReadAllLines(file); //relative path of file you want to change build action string target = @"Models\GeneratedClass.cs"; //find the line that has your class for(int i = 0; i < lines.Length ; i++) { if(lines[i].Contains(target)) { //Replace Compile with None lines[i].Replace("Compile", "None"); } } string templateDirectory = Path.GetDirectoryName(Host.TemplateFile); string outputFileName = "newCSProj.sqlproj"; string outputFilePath = Path.Combine(templateDirectory, outputFileName); File.WriteAllLines(outputFilePath, lines); #>
Вот предупреждение, которое демонстрирует Visual Studios перед запуском текстового шаблона
Предупреждение о безопасности: Запуск этого текстового шаблона может нанести вред вашему компьютеру. Не запускайте его, если вы получили его из ненадежного источника.