C # .NET: библиотека, которая выводит тот же файл - PullRequest
0 голосов
/ 19 августа 2010

У вас есть библиотека, и одна из функций в библиотеке обеспечивает функциональность, которая, помимо прочего, выводит файл (возможно, по разным путям при каждом выполнении).Содержание и имя файла является постоянным в каждом исполнении.Каков наилучший способ сделать это?объявить содержимое файла в виде строки и печатать его каждый раз (вероятно, не очень хорошая идея, файл имеет длину около 1000 строк)?или есть файл, который всегда существует в той же папке, что и библиотека dll?Как сделать так, чтобы компилятор всегда включал этот файл?Или есть какой-то лучший способ, например, как-то встроить файл в dll?

Обратите внимание, что вывод этого файла - не единственное, что делает библиотека, это одна из подзадач, выполняемых функциейбиблиотека

Спасибо!

Ответы [ 3 ]

1 голос
/ 19 августа 2010

Если содержимое в каждом случае будет одинаковым и нетривиальным (т. Е. Вы не могли просто записать его в пару небольших строк кода), то вставьте его в файл ресурсов в сборку.

Тогда вы можете просто использовать Assembly.GetManifestResourceStream, чтобы получить входной поток и скопировать данные в файл. (Если вы используете .NET 4.0, вы можете использовать метод Stream.CopyTo, и все готово.)

0 голосов
/ 19 августа 2010

В качестве альтернативы есть метод file.copy http://msdn.microsoft.com/en-us/library/system.io.file.copy(VS.71).aspx Вы можете просто включить файл в свой проект (добавить существующий элемент) и скопировать его при необходимости.

0 голосов
/ 19 августа 2010

Вы можете создать файл ресурсов в своем проекте VS2010 и ввести доступ к файлу как статический член автоматически сгенерированного класса. Ресурс также будет автоматически внедрен.

Попробуйте добавить новый элемент -> файл ресурсов. После создания файла перетащите его на поверхность конструктора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...