ASP.NET - 访问复制内容
问题描述:
我有一个类库项目,其中包含一些内容文件配置了“复制如果较新”复制构建操作。这会导致文件被复制到解决方案中每个项目的...\bin\
下的文件夹中。在这个相同的解决方案中,我有一个ASP.NET web项目(顺便说一下,这是MVC)。在库中,我有一个静态构造函数将文件加载到Web项目可访问的数据结构中。以前,我一直将内容作为嵌入式资源加入。我现在需要能够替换它们而不用重新编译。我想访问在三个不同的上下文中的数据:ASP.NET - 访问复制内容
- 单元测试库组件
- 调试Web应用程序
- 托管在IIS
现场进行单元测试,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
。
是否有其他的环境变量或结构,我总是可以找到我的“复制如果是新的”文件?
真棒,这似乎是做伎俩。 – 2010-04-05 20:42:05