2014-11-27 2 views
1

У меня есть проект с .txt-файлом в папке. Файл .txt имеет значение Embedded Resource.Встраиваемый ресурс txt-файл не обновляется

Я использую этот код, чтобы читать:

var assembly = Assembly.GetExecutingAssembly(); 
var manifestResources = assembly.GetManifestResourceNames(); 

string s = manifestResources.Single(c => c.EndsWith("Cats.txt")); 

который прекрасно работает.

Однако я обновил Cats.txt и заметил, что мой проект не обновлялся.

Я удалил Cats.txt и обнаружил, что он все еще работает нормально и читает файл.

Я пробовал очистить мое решение, перестроить и iisreset, но, похоже, он настаивает на том, что файл все еще присутствует в сборке, несмотря на то, что я удаляю его.

Любые идеи?

+0

Вы точно читаете обновленную dll, а не старую? – macpak

+0

Вы удалили папки 'obj' и' bin' перед перестройкой? –

+0

Удаленный bin и obj, перестроен, такая же проблема. – NibblyPig

ответ

0

Хорошо, поэтому я исправил это, перезапустив визуальную студию. Я понятия не имею, как это повлияло на это.

Когда я проверял свойства «сборки», атрибут CodeBase указывал на более старую копию DLL в совершенно другой папке, которая была где-то еще на моем жестком диске, которую я открыл в другом окне Visual Studio ,

Я понятия не имею, какой основной механизм вызвал это, у меня определенно была правильная версия решения, и я отлаживал его.

Закрытие раствора и его открытие снова зафиксировали. Мел это до поведения бисарро кэширования или чего-то еще.

0

На самом деле проблема решена с помощью очистки раствора в первую очередь, а затем снова скомпонована. Мне не пришлось покидать Visual Studio для обновления встроенного ресурса.

0

Реконструкция (или проект запуска) обновляет встроенные ресурсы.