首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BouncyCastle与iTextSharp冲突

BouncyCastle与iTextSharp冲突
EN

Stack Overflow用户
提问于 2019-01-05 02:40:00
回答 2查看 3.3K关注 0票数 6

我有一个使用BouncyCastle的c#程序。如果我插入一个对iTextSharp的引用,编译器会生成两个引用中已经存在的类的许多错误。我已经指定了所有的名称空间,但它不会更改任何内容。示例:

代码语言:javascript
复制
 Org.BouncyCastle.X509.X509Certificate certCopy = DotNetUtilities.FromX509Certificate(oCertificato);

如何同时使用BouncyCastle和iTextSharp?

EN

回答 2

Stack Overflow用户

发布于 2021-06-11 21:21:48

就像“franco-de-giorgi”说的那样。将别名添加到库中。

我只是写了一个完整的答案,因为我必须学习什么是Alias以及如何添加和Alias

转到您的引用并转到BouncyCastle上的属性,然后将全局更改为您的个人别名:

然后在你的类中使用一个外部别名来引用,就像这样(而不是使用)

代码语言:javascript
复制
//using Org.BouncyCastle.Crypto.Parameters;
extern alias Merged;

在类中添加别名

代码语言:javascript
复制
new Merged::Org.BouncyCastle.OpenSsl.PemReader
票数 1
EN

Stack Overflow用户

发布于 2021-10-28 15:34:49

TL;DR:在*.csproj中使用PackageReference的Aliases属性,并将别名添加到受影响的*.cs文件中:

代码语言:javascript
复制
<PackageReference Include="PackageAffectedByConflict" Aliases="AltGlobalNamespace" />
代码语言:javascript
复制
extern alias AltGlobalNamespace;

using AltGlobalNamespace.ConflictedName;

根据NuGet documentation from Microsoft的说法

在极少数情况下,不同的包将包含相同名称空间中的类。从NuGet 5.7和Visual Studio2019更新7开始,相当于ProjectReference,PackageReference支持别名。默认不提供别名。如果指定了别名,则需要使用别名引用来自带注释的包的所有程序集。

该文档还链接了一个显示如何使用Aliases属性的example on GitHub

PackageReferenceAliasesExample.csproj

代码语言:javascript
复制
<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net5.0</TargetFramework>
    </PropertyGroup>
  
    <ItemGroup>
        <PackageReference Include="NuGet.Versioning" Version="5.8.0" Aliases="ExampleAlias" />
    </ItemGroup>

</Project>

Program.cs

代码语言:javascript
复制
extern alias ExampleAlias;
using System;

namespace PackageReferenceAliasesExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var version = ExampleAlias.NuGet.Versioning.NuGetVersion.Parse("5.0.0");
            Console.WriteLine($"Version : {version}");
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54044384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档