【发布时间】:2010-10-01 19:23:11
【问题描述】:
我遇到了一个问题,即 Devart DLL 没有被复制到我的 Web 应用程序的 bin 文件夹中。我有一个引用 projectA 的 Web 应用程序项目。项目A 引用项目B。 Devart Dll 在 projectB 中使用,并且在构建期间不会被复制到 Web 应用程序项目 bin 文件夹中。 ProjectB 还引用了 EL Unity dll,并且它们被正确复制。所有有问题的 Dll 在物理上位于 projectB 中的文件夹中,这就是参考点。 (我没有指向 GAC 的参考资料)
正确复制的 dll 是 Microsoft.Practices.Unity、Microsoft.Practices.Unity.Configuration 和 Microsoft.Practices.ServiceLocation。
未正确复制的 dll 是 Devart.Data、Devart.Data.Oracle 和 Devart.Data.Oracle.Design。
这是每个 dll 的引用...
<Reference Include="Devart.Data, Version=5.0.124.0, Culture=neutral, PublicKeyToken=09af7300eec23701, processorArchitecture=MSIL">
<HintPath>..\Dtn.PetroDex.Dal\ThirdPartyDlls\Devart.Data.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>True</Private>
</Reference>
<Reference Include="Devart.Data.Oracle, Version=5.70.170.0, Culture=neutral, PublicKeyToken=09af7300eec23701, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Dtn.PetroDex.Dal\ThirdPartyDlls\Devart.Data.Oracle.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Devart.Data.Oracle.Design, Version=5.70.170.0, Culture=neutral, PublicKeyToken=09af7300eec23701, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Dtn.PetroDex.Dal\ThirdPartyDlls\Devart.Data.Oracle.Design.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Practices.ServiceLocation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\Dtn.PetroDex.Dal\ThirdPartyDlls\Microsoft.Practices.ServiceLocation.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Practices.Unity, Version=2.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\Dtn.PetroDex.Dal\ThirdPartyDlls\Microsoft.Practices.Unity.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Practices.Unity.Configuration, Version=2.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\Dtn.PetroDex.Dal\ThirdPartyDlls\Microsoft.Practices.Unity.Configuration.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>True</Private>
</Reference>
还有其他人有这个问题吗?我做错了吗?谢谢
编辑 我打开了一个文件监视器,观察了 Visual Studio 加载引用的位置,对于 Unity,它从我指定的位置获取 dll。但是,对于 Devart dll,它正在 GAC 中查找! Devart dll 是否会以某种方式导致此问题?
【问题讨论】:
标签: .net visual-studio dll reference