相关疑难解决方法(0)

在同一解决方案中引用2个不同版本的log4net

我正在使用引用log4net 1.2.10.0的NHibernate 2.1.2.400.在同一个项目中,我也使用简单的会计SDK,遗憾的是它仍然使用log4net 1.2.9.0.

所以我可以让NHibernate工作,如果我引用log4net 1.2.10.0但是simpleSDK不起作用.反之亦然......

我猜大多数问题都来自于log4net已经改变了它的汇编密钥.我尝试使用绑定重定向但没有成功:2个DLL没有相同的密钥.

我正在考虑重新编译NHibernate以使用log4net 1.2.9.0,但这似乎是错误的做法,我的感觉是Simply Accounting不会更新他们的SDK以便很快使用log4net 1.2.10.0.

处理这个问题的最佳方法是什么?是否有可能解决?

.net nhibernate dll log4net

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

在/ reference选项中未指定extern别名'xxx'

我有两个程序集,不幸的是在同一名称空间中定义了相同的类型.我正在尝试使用a extern alias来解决问题.在Visual Studio IDE中,我已将引用的"别名"属性设置为我的别名.这应该是将C#编译器命令行更改为:

/reference:MyAlias=MyAssembly.dll
Run Code Online (Sandbox Code Playgroud)

但它实际上并没有这样做.Visual Studio IDE似乎只是忽略引用上的别名属性设置.因此,当我extern alias MyAlias;在C#代码文件的顶部添加行时,我得到错误,即在编译器的/ reference选项中未指定别名.我无法弄清楚我做错了什么.有任何想法吗?

.net c#

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

是否可以将同一装配的不同版本引用到单个项目中?

在我的解决方案中,我有几个使用Log4Net(1.2和2.5)的项目.

然后我有一个项目,我在那里进行所有单元测试(其他项目).所以我的情况取决于我测试/模拟我需要Log4Net 1.2或2.5.

我读过您可以在应用程序中支持不同版本的单个程序集(使用代码库等),但是甚至可以将单个程序集的不同版本支持到项目中吗?如果是这样,怎么样?

编辑:

这是一个很小的(2个类,2个方法,2个构造函数)项目,显示了我的问题:

https://srv-file1.gofile.io/download/EQFdOs/212.76.254.142/Log4NetMulti.zip

(我希望链接工作)

.net c# assemblies

6
推荐指数
2
解决办法
5084
查看次数

在项目中使用相同DLL的不同版本

在我的项目中,我必须使用不同版本的AWSSDKdll,为了使这个我接受了这篇文章的帮助.并将我的一个dll添加到V-1bin文件夹中命名的文件夹中.然后像这样进行配置更改

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>        
        <assemblyIdentity name="AWSSDK" publicKeyToken="CD2D24CD2BACE800" culture="neutral" />
            <codeBase version="1.4.8.2" href="V-1\AWSSDK.dll" />
            <codeBase version="2.3.40.0" href="AWSSDK.dll" />
        </dependentAssembly>      
    </assemblyBinding>
</runtime>
Run Code Online (Sandbox Code Playgroud)

但我仍然得到这样的错误

错误2无法加载文件或程序集'AWSSDK,Version = 1.4.8.2,Culture = neutral,PublicKeyToken = cd2d24cd2bace800'或其依赖项之一.该系统找不到指定的文件.E:\ Live\Web.config 129

在web-Config中的这一行

 <add assembly="AWSSDK, Version=1.4.8.2,  Culture=neutral, PublicKeyToken=CD2D24CD2BACE800" />
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出我做错了什么?

.net c# dll

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

C#如何引用不同版本的依赖关系

我面临以下问题(或者一个挑战,如果有人喜欢这样称呼它):在我们的 C# 桌面应用程序中,我们有两个额外的数据处理库供应商(都是用 MATLAB 开发的,虽然版本不同)。每个库都依赖于 MathWorks 的 MWArray.dll,每个库都需要不同的版本。

让我向您展示一下情况的草图: 在此处输入图片说明

我确定的(经过测试)是:

  • 两个库都可以单独调用,没有任何问题
  • 两个版本的MRC(Matlab Runtime Compiler)可以共存,不会造成干扰问题(见上)
  • 针对旧版本 MWArray.dll 编译的库不能与较新版本一起使用

我已经尝试过的:

    <runtime>
        <assemblybinding xmlns="urn:schemas-microsoft-com:asm.v1">  
          <dependentassembly>
            <assemblyidentity name="MWArray" publickeytoken="e1d84a0da19db86f" />
            <bindingredirect oldVersion="0.0.0.0-2.17.0.0" newVersion="2.17.0.0" />
            <codebase version="2.17.0.0" href="C:\Windows\Microsoft.NET\assembly\GAC_MSIL\MWArray\v4.0_2.17.0.0__e1d84a0da19db86f\MWArray.dll" />
            <codebase version="2.18.0.0" href="C:\Windows\Microsoft.NET\assembly\GAC_MSIL\MWArray\v4.0_2.18.0.0__e1d84a0da19db86f\MWArray.dll" />
          </dependentassembly>
        </assemblybinding>
    </runtime> …
Run Code Online (Sandbox Code Playgroud)

c# dependency-management

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

标签 统计

.net ×4

c# ×4

dll ×2

assemblies ×1

dependency-management ×1

log4net ×1

nhibernate ×1