让视觉工作室从我们的一个项目中获取最新版本的DLL时遇到问题。

我们有多个类库项目(例如BusinessLogic,ReportData)和一些Web服务,每个都有一个对我们编写的连接DLL的引用(这个引用连接DLL是问题)。

我们总是指向bin / debug文件夹中的DLL(这是我们始终为任何给定的项目构建的地方)的引用,所有自定义DLL引用都有copyLocal = True和SpecificVersion = False

ReportData有一个业务逻辑的参考(它也有一个参考连接 – 我不明白为什么会引起一个问题,但是以为值得一提)

奇怪的是,当您单击“添加参考”并浏览到连接/ bin / debug – 将鼠标悬停在DLL文件上时,将显示正确的(最新)版本(版本和文件版本总是递增在一起),但是当您点击确定,以前的版本号被拉。即使我查看当前项目的调试文件夹(其中copy本地将编译后的DLL)显示最新版本号。 – 不,我可以在visual studio之外找到以前版本的DLL,但是在该项目中,引用它具有旧版本 – 即使路径正确。

我可能会从旧版本中获取旧版本。甚至为什么它想要那个。

这可能是我遇到的最大的问题。

有谁知道如何确保最新版本被拉通(最好自动或编译)。

编辑:

虽然不完全是我正在处理的情况,我正在阅读this文章,并在某处提及关于CLR忽略修订号。可以理解(即使这不是一个问题 – 我们在修改39),所以我以为我会更新版本号,仍然没有工作。我试图尽可能地更新次要版本号,看看是否有所作为。

我不是说这是答案,因为我必须首先检查一些事情,但从表面上看,这似乎已经解决了我的问题?

进一步编辑:
在其他类库中,这似乎已经解决了这个问题,但是在一个测试Windows应用程序中,它仍然通过以下方式提取了以前的版本:

如果我再次增加次要版本号,同样的问题就会回来,我被遗忘了错误的版本。

进一步编辑 – 我创建了一个新的项目,添加了一个参考,仍然有完全相同的问题。这表明问题受到我参考的项目的限制。希望我知道为什么!

任何人都有这个问题,知道如何解决?

帮帮我!

为了避免dll,我建议您在项目中创建一个lib文件夹,并将所有共享程序集放在此文件夹中。接下来,您只能从此文件夹添加引用。这样你的项目是自包含的,你确切地知道从哪里挑选引用。如果要使用较新版本更新某些程序集,请将其复制到lib文件夹并重建项目。

另外,请确保您将引用的程序集没有被首先提取到GAC中。

.net – 项目引用DLL版本地狱的更多相关文章

  1. H5混合开发app如何升级的方法

    本篇文章主要介绍了H5混合开发app如何升级的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  2. ios – 比较两个版本号

    如何比较两个版本号字符串?例如:3.1.1和3.1.2.5.4现在我需要找出3.1.2.5.4是否高于3.1.1但我不知道如何做到这一点.有谁能够帮我?

  3. iOS App版本编号

    iTunesConnect开发人员指南PDF(第47页),关于iOS应用程序的版本号,请参阅以下内容:Usetypicalsoftwareversioningconventions(suchas“1.0″or“1.0.1”or“1.1”)没有关于应用版本号的确切格式的声明.我们可以使用版本号,例如“1.0.0.1”或“1.0.0.0.1”吗?解决方法我的建议是坚持使用1.x.x格式作为应用商店用途

  4. swift获取屏幕的宽高

    之前写了一篇关于获取iphone屏幕宽高的方法,算是能解决ios7下的一个小bug,是用OC写的,文章地址:http://blog.csdn.net/wingsofpiano/article/details/45726729这次用swift语言试着写了一个相同的方法,同样,粘贴到viewcontroller就能用使用示例:如果有什么错误的地方还望各位前辈能指出来

  5. swift中获取判断设备版本的方法

    1.直接获取,按需要加if判断即可2.获取每一位的版本号,利用switch进行判断3.获取版本号后,定义一个返回比较结果的对象进行比较

  6. Swift获取APP版本号,提示用户升级

    获取当前版本号获取历史的版本号??

  7. swift 获取app版本号及 ios 版本号

    =infoDictionary!["CFBundledisplayName"]letmajorVersion:AnyObject?=infoDictionary!["CFBundleShortVersionString"]letminorVersion:AnyObject?=infoDictionary!

  8. Swift开发:Info.plist文件的常见配置

    如果使用文本编辑器打开这个文件,会发现这是一个XML格式的文本文件,使用Xcode的OpenAs->SourceCode或者PropertyList可以进行编辑,本文会重点介绍一些在iOS开发中常见的的Info.plist的配置项。Info.plist配置项说明1、设置启动图标2、设置启动闪屏图片3、设置版本号相关设置Bundle的版本号。

  9. 版本化我自己的Android库

    我目前正在为Android开发自定义库.我的想法是为应用程序创建一个版本,以及该库的不同版本.如果没有将两个build.gradle文件合并在一起,是否有最佳实践?您的输出文件将具有您在gradle.proprties文件中指定的版本号的名称.注意事项这将以非常静态的方式对您的库和/或API进行版本控制.这意味着开发人员无法通过方法调用动态获取版本号.一定要有一个方法可以为客户端开发人员提供版本号,并确保两者保持同步.只有这样你才能拥有一个正确版本的库.

  10. Go Java算法之比较版本号方法详解

    这篇文章主要为大家介绍了Go Java算法之比较版本号方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部