我想将所有公共dll转移到GAC,因为我在一台计算机上有许多项目,而其他文件夹(服务,应用程序)也是如此。
我需要引用GAC的Entityframework ...
我已经用Model1:DbContext测试了一个项目Testrefs。
Entityframework.dll和EntityFramework.SqlServer.dll。
我还有另一个使用以下代码的安装项目:
var pbl = new Publish();
foreach (var assembly in assemblies)
{
try
{
pbl.GacInstall(assembly.FullName);...
我为此dll运行了此安装。 然后他们找到了: C:\ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ EntityFramework.SqlServer \ v4.0_6.0.0.0__b77a5c561934e089 \ EntityFramework.SqlServer.dll
C:\ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ EntityFramework \ v4.0_6.0.0.0__b77a5c561934e089 \ EntityFramework.dll
testrefs.csproj看起来像这样:
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
然后我从App文件夹中删除了EntityFramework.dll和EntityFramework.xml,EntityFramework.SqlServer.dll和EntityFramework.SqlServer.xml。
在Form1_Load上,我得到了一个带有.Tolist()的表 我跑了,遇到了这个异常:
无法加载在ADO.NET提供程序的应用程序配置文件中注册的具有不变名称'System.Data.SqlClient'的System.Data.Entity.SqlServer.SqlProviderServices,EntityFramework.SqlServer'。确保使用了程序集限定名称,并且该程序集可用于正在运行的应用程序。有关更多信息,请参见http://go.microsoft.com/fwlink/?LinkId=260882。
如果我将EntityFramework.dll和EntityFramework.xml,EntityFramework.SqlServer.dll和EntityFramework.SqlServer.xml复制到AppFolder,则运行正常。
我希望EntityFramework.dll和EntityFramework.SqlServer.dll到GAC都没有异常
如何在GAC上运行被EntityFramework.SqlServer.dll和EntityFramework.dll引用的项目