相关疑难解决方法(0)

如何确定.NET程序集是为x86还是x64构建的?

我有一个任意的.NET程序集列表.

我需要以编程方式检查每个DLL是否是为x86构建的(而不是x64或任何CPU).这可能吗?

.net 64-bit x86 assemblies x86-64

312
推荐指数
8
解决办法
16万
查看次数

在具有MVC 3的远程主机上使用SQL Server CE 4

我刚刚将我的主机升级到MVC 3,但我正在尝试使用SQLCE 4.0做一个"hello world",但我得到了:

很抱歉,在执行您的要求时发生了一个错误.

我看到我的布局和一切,但我看到的不是数据.

在localhost上按预期工作

我有:

<add name="PruebaContext" connectionString="Data Source=|DataDirectory|db.sdf" providerName="System.Data.SqlServerCE.4.0"/>
Run Code Online (Sandbox Code Playgroud)

作为connectionString.

我把sdf作为项目的一部分,我将System.Data.SqlServerCE.dll添加到项目中,并将本地副本设置为true.

我没有更多的想法.connString,dll在/ bin中,在localhost中工作.

有任何想法吗?

谢谢.

编辑

我现在有一些日志:

没有/ bin上的"System.Data.SqlServerCE.dll":

无法找到请求的.Net Framework数据提供程序.它可能没有安装.

System.ArgumentException:无法找到请求的.Net Framework数据提供程序.它可能没有安装.

很好.他们没有SqlServerCE4.

使用本地副本上的Dll,AKA/bin:

无法加载与版本8482的ADO.NET提供程序对应的SQL Server Compact的本机组件.安装正确版本的SQL Server Compact.有关更多详细信息,请参阅知识库文章974247.

异常详细信息:System.Data.SqlServerCe.SqlCeException:无法加载与版本8482的ADO.NET提供程序对应的SQL Server Compact的本机组件.安装正确版本的SQL Server Compact.有关更多详细信息,请参阅知识库文章974247.

KB说我需要x86和amd64的dll.我在某处读到了如果我将两个目录复制到/ bin,例如:/ bin/x86和/ bin/amd64.我从SqlServerCE 4安装文件夹的私人文件夹中复制了这些文件夹.现在我得到了:

在ADO.NET提供程序和SQL Server Compact的本机二进制文件之间检测到可能的文件版本不匹配,这可能导致功能不正确.这可能是由于存在多个不同版本的SQL Server Compact实例,或者是由于与SQL Server Compact二进制文件具有相同名称的错误二进制文件.请安装匹配版本的SQL Server Compact二进制文件.

好.在SQLServerCE4的根文件夹上我也有一些dll,所以我删除了这两个文件夹并将该dll复制到/ bin:

无法加载文件或程序集'file:/// C:\ HostingSpaces\jesusrod\foxandxss.net\wwwroot\mvc3\bin\sqlceca40.dll'或其依赖项之一.该模块应该包含一个程序集清单.

我想我尝试过所有的事情.Scottgu说SqlServerCE 4应该可以在没有安装的任何服务器上运行.

sql-server-ce sql-server-ce-4 asp.net-mvc-3

29
推荐指数
2
解决办法
2万
查看次数

将实体框架与SQL Compact专用安装一起使用

我在使用SQL Compact的桌面应用程序中使用Entity Framework 4.我想在我的应用程序中使用SQL Compact 的私有安装,这样我的安装程序就可以安装SQL Compact而无需为用户提供第二次安装.它还避免了版本化的麻烦.

我的开发机器安装了SQL Compact 3.5 SP1作为公共安装,所以我的应用程序在那里运行良好,正如人们所期望的那样.但它没有在我的测试机上运行,​​它没有安装SQL Compact.我收到此错误:

The specified store provider cannot be found in the configuration, or is not valid.
Run Code Online (Sandbox Code Playgroud)

我知道有些人在SQL Compact私有安装方面遇到了困难,但我已经使用了一段时间了,我真的很喜欢它们.不幸的是,我的常规私人安装方法不起作用.我已经检查了我的SQL CE文件上的版本号,它们都是3.8.8078.0,这是SP2 RC版本.

以下是我在私人安装中包含的文件:

  • sqlcecompact35.dll
  • sqlceer35EN.dll
  • sqlceme35.dll
  • sqlceqp35.dll
  • sqlcese35.dll
  • System.Data.SqlServerCe.dll
  • System.Data.SqlServerCe.Entity.dll

我已经将System.Data.SqlServerCe的引用添加到我的项目中,并且我已经验证上面列出的所有文件都被复制到安装机器上的应用程序文件夹中.

以下是我打开SQL Compact文件时用于配置EntityConnectionStringBuilder的代码:

var sqlCompactConnectionString = string.Format("Data Source={0}", filePath);

// Set Builder properties
builder.Metadata = string.Format("res://*/{0}.csdl|res://*/{0}.ssdl|res://*/{0}.msl", edmName);
builder.Provider = "System.Data.SqlServerCe.3.5";
builder.ProviderConnectionString = sqlCompactConnectionString;
var edmConnectionString = builder.ToString();
Run Code Online (Sandbox Code Playgroud)

我错过了一个文件吗?我是否错过了告诉Entity Framework在哪里找到我的SQL Compact DLL所需的配置步骤?任何其他建议为什么EF没有在安装机器上找到我的SQL Compact DLL?谢谢你的帮助.

entity-framework sql-server-ce entity-framework-4

20
推荐指数
2
解决办法
3万
查看次数

无法加载SQL Server Compact的本机组件

我在Win7 x64上安装了SQL Server Compact Edition 4.0,它同时为Asp.Net和桌面应用程序运行.此PC还安装了Visual Studio 2010 SP1.但是我的Server 2008 R2会为Asp.Net应用程序产生以下错误,尽管它可以运行桌面应用程序:

Unable to load the native components of SQL Server Compact corresponding to the
ADO.NET provider of version 8482. Install the correct version of SQL Server
Compact. Refer to KB article 974247 for more details.
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用SqlDataSource和SqlCeConnection.同样的错误.我的web.config如下所示:

<?xml version="1.0"?>
<configuration>
    <connectionStrings>
       <add name="SQLCE" connectionString="Data Source=|DataDirectory|\a.sdf"
        providerName="System.Data.SqlServerCe.4.0" />
    </connectionStrings>
    <system.web>
        <compilation debug="true" targetFramework="4.0">
            <assemblies>
                <add assembly="System.Data.SqlServerCe, Version=4.0.0.0,
                Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
            </assemblies>
        </compilation>
    </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

还试图将dll复制到这里虽然没有效果但是没有效果.

asp.net sql-server-ce sql-server-ce-4

14
推荐指数
1
解决办法
3万
查看次数

如何将SQL CE 4 CTP部署到共享主机?

如何将带有EF4的SQL CE 4.0部署到ASP.NET MVC 2.0的共享托管提供程序?

我已经在我的bin文件夹中包含了System.Data.SqlServerCe.dll和amd64 + x86目录,但仍然没有找到".net提供程序".我意识到它目前在CTP中,但这仅用于测试目的.我的项目+主机配置为.net 4.0

deployment asp.net-mvc sql-server-ce entity-framework-4 asp.net-mvc-2

9
推荐指数
2
解决办法
3970
查看次数

构建后将文件从一个项目复制到另一个项目

我有一个项目,我的所有javascripts(我为三个项目共同).

在构建期间,我想将这些脚本移动到三个项目中,如何通过编辑.csproj和如何实现?

更新:

我有相同的解决方案webapplication1,webapplication2我正在编辑.csprojwebapplication1,我想复制测试文件夹中的所有文件

  <Target Name="AfterBuild">
    <Copy SourceFiles="$(WDTargetDir)test\" 
          DestinationFolder="$(SolutionRoot)WebApplication2">
    </Copy>
  </Target>
Run Code Online (Sandbox Code Playgroud)

然而,什么也没发生.

msbuild

5
推荐指数
2
解决办法
1万
查看次数