草庐IT

版本控制gitlab

全部标签

c# - 3rd 方库引用不同版本的 log4net.dll

我有两个对我的应用程序至关重要的库,它们依赖于不同版本的log4net.dll。当我正在使用的第3方部分被调用时,在我的bin文件夹中尝试这两个dll会出现通常的错误:无法加载文件或程序集“log4net,Version=1.2.10.0,Culture=neutral,PublicKeyToken=1b44e1d426115821”或其依赖项之一。找到的程序集的list定义与程序集引用不匹配。(HRESULT异常:0x80131040)有没有一种方法可以让应用程序同时引用这两个dll?第三方dll是Windsor的IOC容器和Paypal的API,两者都对这个应用程序至关重要。

c# - NuGet - 在单个解决方案中管理和删除多版本包

场景一个包含n个项目的VS解决方案。项目A引用包Yv1,项目B引用包Yv2。现在无法使用解决方案级别的NuGet包管理对话框更新解决方案中所有项目对包Y的所有引用,只有当所有项目都引用相同版本的包Y时才能执行此操作。不是很大我只处理两个项目,但我处理的很多项目由于包管理不善而引用了很多包版本,而它们本应引用相同的版本。在我花一个下午编写控制台应用程序之前。自动更新解决方案的所有package.config文件,以便每个引用的包只通过它的最新版本引用(最新引用,不是最新的,有异常(exception)/警告等)......是否有工具/方法来做这已经?或者我不知道的其他一些方法?

c# - 构建一个 web 项目破坏了解决方案中第二个的编译版本

我有一个包含30个项目的大型解决方案,其中2个是Web项目(MVC和WebAPI)以及一堆后台类库项目。我设置了visualstudio以在IIS中托管Web项目。如果我进行全新构建,然后对整个解决方案进行完整构建,那么通过浏览器访问这两个项目都可以正常工作。(它们位于差异文件夹中并托管在iis中的差异“域”中)如果我不做任何代码更改,只需重新构建2个Web项目之一,另一个就会停止工作。需要说明的是,重建WebAPI工程导致MVC工程出错。反之亦然。我得到的错误是说找不到System.Web.Http.Formatter。详细信息说定位的程序集版本与引用版本不同。检查bin文件夹表明情

c# - 使用相同 NuGet 包的两个不同版本

我想使用两个不同版本的相同库(OpenCVSharp2.x和OpenCVSharp3.x)。我将这两个包都下载到单独的项目(我们称之为OCV2Wrapper和OCV3Wrapper)并在我的项目中引用这两个包装器。我不得不从一个包(2.x)中重命名库并引用它们手册,因为:Canweadd2differentversionsofsamepackageinNuGet.我阅读了有关外部别名的信息,并在其中一个包装器中使用了外部别名(在我的例子中是2.x)。但我有一些主要问题:我重命名的库没有复制到启动项目构建(引用两个包装器的那个),而是在2.x包装器的构建中它不起作用,因为它说它无法从我的

c# - 我可以根据 .NET Framework 版本创建预处理器指令吗?

这是我想做的具体例子。考虑string.Join功能。在.NET4.0之前,只有两个重载,都需要一个string[]。参数。从.NET4.0开始,有新的重载采用更灵活的参数类型,包括IEnumerable.我有一个图书馆,其中包括Join本质上执行.NET4.0string.Join功能的功能功能确实如此。我只是想知道是否可以使此函数的实现依赖于目标.NET框架。如果是4.0,它可以简单地调用string.Join在内部。如果是3.5或更早版本,它可以调用自己的内部实现。这个想法有意义吗?如果确实有意义,那么最合乎逻辑的方法是什么?我想我只是假设预处理器指令最有意义,因为调用strin

c# - stylecop + resharper 控制评论

这似乎是一个微不足道的问题,但是当我为resharper安装stylecop插件时,我的评论会像这样格式化//////Getsthegiftitem./////////Theuid./////////Theupc./////////GiftGetGift(longuid,stringupc);相对于///Getsthegiftitem.///Theuid.///Theupc.///GiftGetGift(longuid,stringupc);我似乎找不到任何方法来关闭这种格式。 最佳答案 如果您在Resharper中安装了Micro

c# - 如何在 .NET Core 中修改文件访问控制

我正在尝试更改.NETCore中文件的权限。但是,似乎FileInfo不再有任何SetAccessControl。//CreateanewFileInfoobject.FileInfofInfo=newFileInfo(FileName);//GetaFileSecurityobjectthatrepresentsthe//currentsecuritysettings.FileSecurityfSecurity=fInfo.GetAccessControl();//AddtheFileSystemAccessRuletothesecuritysettings.fSecurity.Ad

c# - 如何在 .NET Core 控制台应用程序中处理 Scoped 服务实例?

我在正在构建的Web应用程序中从ConfigureServices复制了这个,我试图在其中远离Web并仅使用控制台应用程序或服务:serviceCollection.AddScoped(c=>newSqlConnection(App.Configuration.GetConnectionString("DefaultConnection")));控制台应用程序运行良好,但我想知道如何处理连接的生命周期。如果以及何时关闭和/或处置连接?还是这与transient实例的行为相同,我应该自己处理它? 最佳答案 当您从IServiceCol

c# - 如何以编程方式查找 .NET 运行时版本?

我需要一个解决方案来为我提供完整框架和.NETCore的.NET运行时版本。在具有以下.NET版本的机器上:Full:4.7.2Core:2.1.104运行:RuntimeInformation.FrameworkDescription给我:Full:.NETFramework4.7.2558.0Core:.NETCore4.6.26212.01运行:Environment.Version给我:Full:4.0.30319.42000Core:4.0.30319.42000知道注册表选项在Windows之外不可用,我如何才能准确地跨不同平台获取运行时版本。

c# - 如何使用 Team Foundation Server SDK 获取最新版本的源代码?

我正在尝试使用SDK以编程方式从TFS中提取最新版本的源代码,但我所做的不知何故不起作用:stringworkspaceName="MyWorkspace";stringprojectPath="/TestApp";stringworkingDirectory="C:\Projects\Test\TestApp";VersionControlServersourceControl;//actuallyinstantiatedbeforethismethod...Workspace[]workspaces=sourceControl.QueryWorkspaces(workspaceNa