Пока два операнда являются строками, нет никакой разницы между использованием оператора +
и метода String.Concat
. Код с использованием оператора +
фактически компилируется в вызов String.Concat
.
Используйте тот, который наилучшим образом представляет ваше намерение с кодом.
Я не совсем понимаю ваш вопрос, но вы можете проинструктировать Visual Studio для копирования файла из решения в выходную папку при каждой сборке.
Позвольте мне попытаться понять ваш сценарий:
Если это так, добавьте файлы XSLT в свой проект Visual Studio. Затем щелкните их правой кнопкой мыши, откройте «Свойства» и установите «Действие сборки» = «Содержимое» и «Копировать в выходной каталог» = «Всегда». Всякий раз, когда вы создаете свой проект, последняя копия файлов XSLT будет помещена в ваш каталог bin / Debug или bin / Release.
You can edit the file directly in the output folder.
On another note, a lot of people don't know that rich tools are built into VS to allow debugging xslts.
http://msdn.microsoft.com/en-us/library/ms255605(VS.80).aspx
Один из подходов - включить Директиву препроцессора C # , чтобы указать моей функции загрузки XSLT в каталоге решения в режиме отладки, но в выходной каталог при выполнении сборки выпуска.
Что-то вроде:
string viewFolder = AppDomain.CurrentDomain.BaseDirectory;
#if DEBUG
// Move up from /bin/debug
viewFolder = viewFolder + @"..\..\";
#endif
Но это похоже на взлом.
Очевидно, вы управляете двумя проблемами в одном проекте. Первая проблема - это ваша бизнес-логика (создание экземпляра преобразования XSLT, его вызов для преобразования некоторого содержимого XML, вывод результата HTML ...). Вторая проблема - это сама трансформация.
Так почему бы не создать отдельный проект для ваших листов xslt? «Сборка» этого проекта будет состоять из копирования листов в выходную папку. Изменение xslt не повлияет на другой проект, следовательно, сократит время сборки.
Разделение проблем на уровне проекта, то есть:)
Может вы используете программу синхронизации файлов (например, Microsoft SyncToy «бесплатное приложение, которое синхронизирует файлы и папки между местоположениями») для копирования файлов? Это позволит вам избежать этапа «копирование при сборке», потому что файлы автоматически копируются после сохранения. Кроме того, если вы редактировали их в выходном каталоге, изменения можно было бы скопировать обратно в исходный контролируемый каталог. Не лучшая программа синхронизации в реальном времени для этого сценария, но это может быть другим вопросом.
У меня точно такая же проблема. Я купил программу под названием ViceVersa ( http://www.tgrmn.com/ ), в которой я настроил профили синхронизации, чтобы мои папки css, layout и xslt синхронизировались с моей машины на мой сервер разработки. как только будут внесены какие-либо изменения. Если я внесу какие-либо изменения в код, я просто опубликую его как обычно.
Одно из решений, которое может Вам помочь, - это установка соединения с Вашими шаблонами
в Вашей выходной папке. Это позволит Вам использовать XSLT напрямую, не копируя их в выходную папку. Хорошей идеей является обеспечение (создание) соединения как сборочного действия.
Предусловия: