我们正在构建一个从网络驱动器运行的.NET 4 WPF应用程序。应用程序对我和我的大多数(开发人员)同行都很好。 最近,一位软件测试人员加入了我们的开发团队,并与我在同一个AD组中。
每当他启动应用程序时,都会弹出以下对话框:
然后应用程序会自然崩溃。
附加调试器时,调试器在EF 4.4的DbContext构造函数的第一行中断,代码如下:
public class CardioDanosContext : DbContext
{
// ...
public CardioDanosContext()
: base("CardioDanos")
{
// Irrelevant first line
如您所见,我们使用连接字符串名称调用DbContext的构造函数,该名称在app.config中定义,如下所示:
<?xml version="1.0"?>
<configuration>
<configSections>
<!-- ... -->
</configSections>
<runtime>
<loadFromRemoteSources enabled="true"/>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="External;Resources;Base;Services;Modules;Data;"/>
</assemblyBinding>
</runtime>
<connectionStrings>
<add name="CardioDanos"
connectionString="Data Source={snip};Initial Catalog=CardioDanos;Integrated Security=True;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<appSettings>
<!-- ... -->
</appSettings>
<!-- ... -->
</configuration>
现在,我假设它是权限问题,但我们已经验证了受影响用户的所有权限,并且它们看起来都是有序的。他可以毫无问题地阅读和修改app.config文件。我还假设它与从网络驱动器运行它有关,但话又说回来,它适用于我们中的一些人。
我在搜索互联网时并没有真正发现任何相关信息,但有没有人知道为什么会这样呢?
答案 0 :(得分:0)
Some googling tells me无法加载某些程序集。您确定客户端上的所有内容都已正确安装吗?您正在使用的任何第三方程序集安装在开发计算机上的GAC中,客户端计算机上缺少这些程序集?
您是如何部署该应用程序的?您是在创建发布,还是只是复制bin / debug文件夹?如果是最后一个,那么如果没有将“Copy local”设置为True,则不包括任何特定的引用程序集。
如何引用实体框架?您使用的是NuGet软件包,还是手动完成的旧安装?