相关疑难解决方法(0)

基于GAC内容设置的.NET参考"复制本地"真/假

我们在Win Forms项目中遇到了一个非常有趣的问题.它已经解决了.我们知道发生了什么,但我们想知道它为什么会发生.这可能有助于将来遇到类似问题的其他人.

WinForms项目在我们客户的两台PC上失败了.该错误是一个模糊的kernel.dll错误.该项目在另外3台PC上运行良好.

我们发现我们的发布文件夹中缺少.DLL(log4net.dll - 一个非常流行的开源日志库).它以前在我们的发布文件夹中.为什么在最新版本中缺少它?

它丢失了,因为我必须在我的开发盒上安装了一个程序,该程序使用了log4net.dll,并将其添加到全局程序集缓存中.

当我检查解决方案对log4net.dll的引用时,它们被更改为"copy local = FALSE".它们必须自动更改,因为我的GAC中存在log4net.dll.

这是我的问题开始的地方:

为什么我对log4net.dll的引用从COPY LOCAL = TRUE更改为COPY LOCAL = FALSE?我怀疑是因为它是由另一个程序添加到我的GAC中的.

我们怎样才能防止这种情况再次发生?现在,如果我安装一个使用公共库的软件并将其添加到我的GAC,那么引用该DLL的我的SLN将从Copy Local TRUE更改为FALSE.

.net log4net assemblies gac reference

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

Azure包不包括链接的项目dll,甚至包括复制本地集

我有一个包含4个项目的Azure解决方案.(Windows 8上的VS2012,Azure Tools 1.8)

  1. 核心项目与通用代码
  2. Web角色前端
  3. 服务数据的服务角色(来自SQL Azure DB)
  4. 计划任务的工作者角色

所有角色项目都使用copy local = true ...标准内容引用核心项目.

Web角色和辅助角色工作正常,但我的服务角色一直停留在Initializing - Starting - Recycling循环中.当我浏览到该服务时,我得到'可能会注意加载文件或程序集'FileNotFoundException.果然,RDP到服务器和DLL都丢失了.

在本地查看包文件,其他角色包括缺少的dll,但不包括服务角色.

如果我使用VS将服务角色(不是azure发布)发布到本地文件系统,包含核心dll ,证明VS设置对于本地副本是正确的.

有没有从内VS任何其他方式来影响被添加到Azure的部署包中的文件,或者是有一个简单的方法来脚本包的创建不使用VS?

filenotfoundexception package azure assembly-references azure-deployment

16
推荐指数
1
解决办法
3460
查看次数