我在一个文件夹中有一个带有.txt文件的项目。 .txt文件设置为Embedded Resource。
我使用此代码来阅读它:
var assembly = Assembly.GetExecutingAssembly();
var manifestResources = assembly.GetManifestResourceNames();
string s = manifestResources.Single(c => c.EndsWith("Cats.txt"));
哪个效果很好。
但是我更新了Cats.txt并注意到我的项目没有更新。
我删除了Cats.txt,发现它仍然可以正常工作并阅读该文件。
我尝试清理我的解决方案,重建和iisreset,但它似乎坚持文件仍然在程序集中,尽管我删除它。
有什么想法吗?
答案 0 :(得分:2)
实际上,首先清理解决方案然后再次构建它解决了问题。我没有必要退出Visual Studio来更新我的嵌入式资源。
答案 1 :(得分:1)
重建解决方案(或启动项目)更新嵌入式资源。
答案 2 :(得分:0)
好的,所以我通过重启visual studio来解决这个问题。我不知道它是如何影响它的。
当我检查'assembly'的属性时,CodeBase属性指向一个完全不同的文件夹中DLL的较旧副本,该文件夹位于我硬盘上的其他位置,我已在另一个Visual Studio窗口中打开。
我不知道导致这种情况发生的底层机制,我确实打开了正确的解决方案版本,我正在调试它。
关闭解决方案并再次打开解决方案。将这一点归结为奇怪的缓存行为或其他内容。
答案 3 :(得分:0)
我遇到了同样的问题,清理建筑和其他很多东西都行不通。我不得不修改资源设计器。之后,资源将正确重建