首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >管理分散在目录树中的资源

管理分散在目录树中的资源
EN

Stack Overflow用户
提问于 2012-09-01 21:15:27
回答 1查看 188关注 0票数 1

我有一个由几个项目组成的.Net解决方案。其中一个项目包含WPF项目所依赖的所有业务逻辑。

业务逻辑项目使用一堆资源文件来实现不同的功能。

以前这两个项目只有一个,所以我接下来要做的就是将所有这些资源文件都设置为"Copy to Output Directory“为true。运行的应用程序按如下方式组成文件路径。

代码语言:javascript
运行
复制
static readonly string ResourceFilePath = 
    Path.Combine(
        Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
        "resources\\thefile.ext");

我知道我可以使用资源,而且工作得很好(除了扩展消失了,并且用_替换了.字符)。

然而,也有一些时候,我的目录树包含了一堆文件。正在运行的应用程序将整个内容复制到某个临时位置。

与单个资源文件一样,我将所有文件设置为复制到Visual Studio中的输出目录。运行的应用程序将组成目录的路径,然后使用该路径递归地将所有内容复制到临时位置。

代码语言:javascript
运行
复制
static readonly string ResourceFilesPath = 
    Path.Combine(
        Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
        "resources\\somedirectory\\");

public void CopyAll(DirectoryInfo source, DirectoryInfo target)
{
...

在Visual Studio中调试和安装应用程序时,这一切都工作得很好。因为这些文件都在磁盘上,所以它们是单独进行版本控制的。

我的问题是在第二个场景中,我复制了目录和文件结构。对于资源我不能这样做,现在业务逻辑在一个单独的项目中,资源文件不会复制到前端项目的输出目录中。

我的问题是:有没有更好的方法来处理某些目录树中的许多资源?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-03 00:09:17

也许您可以使用GetAssembly或GetEntryAssembly来获取对WPF程序集的引用,以便该位置正确地返回所需的输出路径?

或者,您可以为业务逻辑项目设置生成事件,以将资源复制到WPF项目的输出路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12228064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档