我有一个类库项目,其中包含一些使用“Copy if newer”复制构建操作配置的内容文件。这会导致文件被复制到解决方案中每个项目的...\bin\
下的文件夹中。在同一个解决方案中,我有一个ASP.NET Web项目(顺便说一下,它是MVC)。在库中,我有一个静态构造函数将文件加载到Web项目可访问的数据结构中。以前我一直将内容作为嵌入式资源包含在内。我现在需要能够在不重新编译的情况下替换它们。我想在三种不同的上下文中访问数据:
对于单元测试,Environment.CurrentDirectory
指向包含复制内容的路径。但是在调试时,它指向C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE
。我还查看了Assembly.GetExecutingAssembly().Location
指向C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\c44f9da4\9238ccc\assembly\dl3\eb4c23b4\9bd39460_f7d4ca01\
的内容。我需要的是webroot \bin
文件夹的物理位置,但由于我是库项目中的静态构造函数,因此我无法访问Request.PhysicalApplicationPath
。
是否有其他环境变量或结构,我总能找到“Copy if newer”文件?
答案 0 :(得分:1)