草庐IT

build-management

全部标签

c# - 为什么在任何 .csproj 文件中都找不到 <Target Name ="Build">?

只是好奇-每当我看到.csproj的xml时,它都以DefaultTargets="Build"开头因此我假设应该存在;但是,我从未在任何.csproj中找到此默认目标。文件。VS是在编译前注入(inject)这个目标还是msbuild默认构建它。内部发生了什么? 最佳答案 在文件底部附近,您会看到这个;导入标准目标,“Build”就是其中之一。导入基于项目文件中可用的其他数据以动态方式生成“构建”目标。 关于c#-为什么在任何.csproj文件中都找不到?,我们在StackOverfl

c# - 无法在 VS 2017 U1 (15.3) 中打开的项目上加载类型 'Microsoft.Build.Framework.SdkReference'

从VS201715.1升级(显然成功)到15.3后,我无法再加载任何C#项目(无法打开现有项目,无法创建新项目)。全部失败并出现此错误:Couldnotloadtype'Microsoft.Build.Framework.SdkReference'fromassembly'Microsoft.Build.Framework,Version=15.1.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'.我发现有人在使用15.3的RC版本时遇到了这个问题,但没有其他人遇到过这个问题,所以我不知道我的环境可能会导致这个问题。我试过清除缓存

c# - 以 "Managed"结尾的类名是什么意思 (C# .NET)?

我是C#的新手,所以请多多包涵。我了解托管代码和非托管代码之间的基本区别。但我仍然有点困惑何时使用某些方法。例如,“托管”一词在某些类名结尾中是什么意思。这是否意味着它们是受管理的,而其他的则不是?例如,Aes和AesManaged或者SHA512和SHA512Managed有什么区别?我知道您不能从托管类派生,但我只知道这些。还有什么时候应该使用“托管”类,例如什么时候选择Aes而不是AesManaged?(我已经在维基百科上阅读了托管代码的基础知识(here)并且还找到了关于托管代码基础知识的很好的解释(here)感谢您的宝贵时间和回答。 最佳答案

c# - .net 中的转换 : Native Utf-8 <-> Managed String

我创建了这两种方法来将nativeutf-8字符串(char*)转换为托管字符串,反之亦然。以下代码完成这项工作:publicIntPtrNativeUtf8FromString(stringmanagedString){byte[]buffer=Encoding.UTF8.GetBytes(managedString);//notnullterminatedArray.Resize(refbuffer,buffer.Length+1);buffer[buffer.Length-1]=0;//terminating0IntPtrnativeUtf8=Marshal.AllocHGlob

c# - 统一: Change default lifetime manager for implicit registrations and/or disable them

Unity容器将自动解析它可以自行识别的任何类型,无需手动注册。这在某些方面很好,但我遇到的问题是它使用TransientLifetimeManager来解决这种类型的问题,而我几乎总是想要一个ContainerControlledLifetimeManager。当然,我仍然可以手动将我的类型注册为单例,但如果我忘记了,应用程序将成功启动,而不是在启动时出现未处理的异常,并且一切似乎都正常工作。但最终会出现错误,可能非常微妙,难以诊断,因为存在一个类型的多个实例,这意味着是一个单例。所以我的问题是:有没有一种方法可以指定不同的默认生命周期管理器或完全禁用默认的自动解析行为并将容器限制为

c# - 从 C# 运行时 SQL 查询超时,在 SQL Server Management Studio 中运行速度很快

我有一个使用下面列出的代码执行SQL查询的C#程序。直到前几天,我一直在使用这段代码一段时间,没有任何问题。我将一个查询字符串传递给SQL,其中包含一个字符串列表,这些字符串是股票标识符。前几天我跑了一下,查询超时了,让我跑一个多小时。过去几天我一直在尝试调试它。在我最初的查询中,大约有900个标识符。我已经尝试改变我能想到的一切,但我得到了无法解释的结果。例如:该查询适用于一个股票列表,但不适用于另一个在字符串数量和总长度方面具有相同长度的列表它适用于一个列表,但不适用于相反顺序的同一个列表对于一个列表,如果恰好有900个标识符,它就可以工作,但如果有899或901个,它就不会工作,

c# - 是否有相当于 TFS 2015 的 "Build 2.0"REST API 的 .NET API?

RESTAPIReferenceforVSTeamServicesandTFS页面分隔“Build1.0”和“Build2.0”API。似乎.NETAPI中也存在这样的差异,因为运行以下代码仅列出“旧的”XAML构建定义,而不是新的。vartpc=newTfsTeamProjectCollection(newUri("http://tfsurl"));varbuildServer=tpc.GetService();vardef=buildServer.QueryBuildDefinitions("ProjectName");//FindsonlyXAMLdefinitions是否有新的

Microsoft Build 2022 到来,开发者们做好准备了吗?

MicrosoftBuild2022将会在5月24日-5月26日正式举行,作为开发者的你是否和我一样期待本次的Build,它会带来什么的技术革新以及黑科技呢?下面我就针对今年Build的几个主题结合相关技术来谈谈我对Build的期待。开发技术和相关工具 今年是.NET20周年,相信很多.NET开发者去年就用上了.NET6,但有一个小小的遗憾MAUI还没正式发布,这也是.NET非常重要的一个版图。如无意外的话MAUI将会在Build大会上正式推出,不知道各位Xamarin用户做好了升级准备没有呢?当然有MAUI还是不行的,也要也需要有开发工具的支持。VisualStudio2022估计也会伴随M

c# - 构建 : error MSB4062 Microsoft. Build.Tasks.ResolveComReference 时出现 .NET Core 错误

我正在开发.net核心网络应用程序(针对net461)。该应用需要引用COMdll。我添加了COM引用,应用程序仍然在我的开发机器上构建。但是,在构建服务器上它无法构建并出现此错误:C:\ProgramFiles(x86)\dotnet\sdk\2.0.0\Microsoft.Common.CurrentVersion.targets(2604,5):错误MSB4062:“Microsoft.Build.Tasks.ResolveComReference”任务无法从程序集Microsoft.Build.Tasks.Core加载经过一番搜索,这似乎是一个非常不常见的错误。任何人都知道错误

c# - 无法在 Dot Net Core 中使用 System.Management.dll

如果System.Management.dll与DotNetCore不兼容,我应该如何收集硬件信息。如何获取处理器ID、磁盘卷号等机器信息 最佳答案 .NETCore3现在支持System.Management。截至目前,.NETCore3处于预览模式,最新的预览版本为4。您必须选择VisualStudio中“项目”菜单下的管理NuGet程序包...菜单项才能安装最新版本的System.Management。确保选中包含预览复选框,以便安装最新版本。以前版本的System.Management抛出一个错误:"Cannotmarsha