【发布时间】:2010-01-13 18:15:59
【问题描述】:
我有一个受源代码控制 (Subversion) 的 ASP.NET 项目。由于各种原因,我不想将 \Bin 目录或其内容添加到源代码管理中,所以我将其设置为 svn:ignored。在 Visual Studio 构建期间将 DLL 加载到此处,我可以从一个干净的目录开始和/或删除该目录的所有内容,并且仍然可以成功构建。
我有两种方法可以引用包含在项目中的代码:
- 在 Web.config 元素中 //configuration/configSections/system.web/compilation/assemblies。我可以通过这种方式
<add>GAC 中的任何 DLL。我对所有系统 dll 执行此操作。 - 在 VS 解决方案中,Project/ProjectSection/ProjectReferences 有一个设置,可让我指定对解决方案中其他项目的引用。
(请注意,这与非 Web 项目不同,其中 所有 对外部依赖项的引用都存储在项目文件中。VS Web 项目没有项目文件,因此它们必须存储在某个地方否则。)
现在我有一个第三方编译的 DLL,我想将它包含在项目中。不幸的是,我发现的所有引用选项似乎都不适合我:
- 除非 GAC 中存在 DLL,否则无法通过 web.config/system.web/compilation/assemblies 进行引用;你不能使用文件路径。我真的很想避免 GAC 依赖,因为这意味着需要额外的步骤才能使项目在每台目标机器上运行。
- 我还没有找到一种方法来在解决方案中包含文件引用,就像我对项目引用所做的那样。
- 每当我使用 VS 的“添加引用”对话框添加文件引用时,它只是将 DLL 复制到 \Bin 目录。这对我不起作用,因为我的 \Bin 目录不是跨系统持久的。
还有其他方法可以引用 DLL 文件并将其粘贴吗?
【问题讨论】:
标签: asp.net dll reference web-config