TOGOUTECH

standards

全部标签

c# - 如何将 .NET 标准库更改为 .NET 框架库?

我正在为C#中的简单解析器编写类库。当我第一次创建它时,我使用的是.NET标准2.0,但现在我需要将它迁移到.NET4.6,以符合我解决方案中的其他项目并使用NUnit。我尝试按照说明进行操作intheMicrosoftdocumentation,但当我尝试在属性中选择另一个框架时,我只能找到其他.NET标准版本。如何迁移它?我是否需要手动编辑.csproj文件? 最佳答案 打开项目文件(.csproj)并将TargetFramework更改为net462<PropertyGroup><TargetFramewor

c# - '无法加载文件或程序集 'netstandard, Version=2.0.0.0, ...'。不应加载引用程序集以执行

目标:从.NET4.7控制台应用程序,通过Assembly.GetType()使用反射,我尝试从AssemblyX中提取netstandard2.0类的类型。然后我想使用Activator.CreateInstance()创建该类型的实例。我正在尝试做的事情:但是,此程序集X依赖于netstandard2.0。为了能够获取类型,必须将netstandard依赖项加载到AppDomain中。这就是为什么当AppDomain通过AssemblyResolve事件请求netstandard程序集时,我只是像这样加载dll:varnetStandardDllPath=@"C:\User

c# - 单元测试 .NET Standard 1.6 库

我无法找到有关如何对.NETStandard1.6类库进行单元测试的最新文档(可以从.NETCore项目中引用)。这是我的库的project.json的样子:{"supports":{},"dependencies":{"Microsoft.NETCore.Portable.Compatibility":"1.0.1","NETStandard.Library":"1.6.0","Portable.BouncyCastle":"1.8.1.2"},"f

c# - .net 标准库中的 HttpContext

我正在处理几个项目,其中一个是ASP.NET4.5应用程序,另一个是.NetCoreAPI1.1项目。asp.net应用程序使用HttpContext类来读取cookie和页眉。现在,我需要将它移动到一个.net标准库,它可以被两个项目使用。我在.net标准SDK中找不到HttpContext。有什么建议吗? 最佳答案 您的方法存在一个问题:.NETStandard是可用的.NET的最基本的实现,这意味着仅实现了与平台和场景无关的基本功能。HttpContext存在于.NETFramework和.NETCore(顺便说一句,两者都实

c# - 添加对 dll 的引用与在 .NET Standard 项目中添加 NuGet 包

我的解决方案中有一个.NETStandard2.0项目,我正在使用IConfiguration接口(interface)。当我写名字时,VS提示我引用Microsoft.Extensions.Configuration.Abstractions.dll。如果我这样做,它会添加到引用节点下。不过,我也可以将其添加为NuGet包。这两种方式似乎都有效。我假设引用VS建议是通过项目中引用的.NETStandardSDK添加的。添加该引用的推荐方法是什么?每种方法的优点和缺点是什么? 最佳答案 直接从手动下载或安装在已知位置的NuGet包引

c# - 在类库 (.NET Standard) 中找不到位图类

我想制作一个类库(.NET标准)并且我正在使用System.Drawing,但是我得到了错误:CS0246C#Thetypeornamespacename'Bitmap'couldnotbefound(areyoumissingausingdirectiveoranassemblyreference?)我正在使用.NETStandard2.0。 最佳答案 我是CoreCompat.System.Drawing的作者。如果您使用的是.NETCore2.0,我建议您转到System.Drawing.Common相反,这是

c# - .NETStandard 1.0/.NET Core 中 Type.GetGenericArguments() 的等价物是什么?

.NETStandard1.0中“缺少”方法System.Type.GetGenericArguments(),我认为TypeInfo.GenericTypeArguments是的替代品GetGenericArguments(),但不幸的是,当提供开放泛型类型时,它们的行为会有所不同。以下面的代码为例:Typetype=typeof(ICommandHandler<>);type.GetGenericArguments();//return{TCommand}type.GetTypeInfo().GenericTypeArguments;//returnsemptyarra

c# - .Net Standard 中 CompileToMethod 的替代方案

我现在正在将一些使用表达式的库移植到.NetCore应用程序并遇到一个问题,我的所有逻辑都基于LambdaExpression.CompileToMethod而它根本就没有in.这是示例代码:publicstaticMethodInfoCompileToInstanceMethod(thisLambdaExpressionexpression,TypeBuildertb,stringmethodName,MethodAttributesattributes){...varmethod=tb.DefineMethod($"<{proxy.Name}>__StaticP

c# - 如何在 Visual Studio 2017 中将 PCL 更改为 .net 平台标准库?

我正在尝试弄清楚如何将可移植的.net类库更改为.net平台标准库。项目设置中有一个看起来正确的可点击链接,上面写着“Target.netplatformstandard”。在我看来很荒谬的错误是:Theproject'stargetscannotbechanged.Theselectedtargetsrequiretheprojecttoopt-intoNuGet3.0support,however,VisualStudiocannotautomaticallydothisforyou.PleaseuninstallallNuGetpackagesandtryagain.有什

c# - 为什么 C# 使用 implicit void Main?

我不明白为什么C#的Main函数在默认情况下是无效的(例如在控制台项目中)。在C和C++中,标准明确规定main必须返回int,使用返回值是有意义的,因为我们可以检查来自外部程序的返回值,并查看C/C++应用程序是成功完成还是遇到错误。所以我的问题是:为什么VisualStudio将Main声明为void?一旦C#控制台应用程序执行完毕,向操作系统返回值的最佳方式是什么? 最佳答案 您可以使用int或void作为返回类型。因此,只需更改它并像在C++中那样返回一个值。为了不让新手迷惑,可能默认为void。