草庐IT

git回退到指定版本

全部标签

c# - 生产中的 Azure SDK 2.2 : Could not load file or assembly 'msshrtmi' or one of its dependencies. 系统找不到指定的文件

我已经在StackOverflow和其他网站的其他几个线程上读到过这个问题。其他解决方案都没有解决我的问题,而且大多数都已过时,引用了旧版本的AzureSDK。我有一个典型的Azure网站角色部署到Azure,它使用Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener来记录跟踪消息。发生跟踪时,看起来好像DiagnosticMonitorTraceListener正在使用RoleEnvironment类,该类又会尝试加载显然不存在的msshrtmi.dll.这是记录到Azure文件系统的堆栈跟踪的一部分:[F

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# - json.net:为字典键指定转换器

我有一个JSON:{"data":{"A":5,"B":6},"foo":"foo","bar":"bar"}我需要将数据反序列化为一个类:publicDictionaryData{get;set;}publicstringFoo{get;set;}publicstringBar{get;set;}但MyEnum值是CodeA和CodeB而不是简单地分别是A和B。我有一个可以处理转换的自定义转换器。但是我如何指定一个JsonConverter来与字典键一起使用呢? 最佳答案 我相信唯一的方法是为整个Dictionary制作一个Jso

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

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

c# - 如何指定接口(interface)的实现者抛出的异常?

我目前正在开发一个解决方案,并以一种能够强有力地实现策略/提供者模式的方式对其进行设计。因此,该解决方案公开了许多接口(interface)并包含这些接口(interface)的默认实现,这些接口(interface)可以通过DI类型方法进行替换。如果主机应用程序使用许多这样的接口(interface),它期望处理可能发生的某些异常,例如IDataRetriever接口(interface)有一个方法SomeDataTypeGetData(inttimeout);并且主机可以处理一些自定义异常,例如DataRetrievalTimeoutException或NetworkConnect

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

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

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# - SQL:指定的转换无效

注意:我正在寻找发生这种情况的原因以及解决方法,而不是寻找解决方法。这似乎是服务器(SQLServer或连接字符串)问题。我有一个连接到sql2008数据库(数据库A)的程序,我有运行的内联sql,它返回了整数和字符串,并且工作正常。但是我被要求切换到另一个2008数据库(数据库B),现在所有内容都以字符串形式返回,并且我从C#获得指定的强制转换无效,当我连接到sql2008(数据库A)时,它不说这个。这是一个内联sql语句,所以sql语句没有改变,数据库的表模式是一样的。它在int主键上执行此操作任何人有任何想法吗?我最初认为这是2000年到2008年的问题,但现在我也遇到了2008

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

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