jjzjj

c# - UWP 应用程序和 .NET Core RC2 : cannot reference netstandard1. 4 个包

我有一个使用共享代码库运行UWP客户端应用程序、UWPIOT应用程序和.NETCore应用程序的场景。在.NETCoreRC1中,我构建了一个类库(包)并使用“dotnet5.4”作为该库的基础框架。使用“生成构建输出”我可以从.NETCore应用程序(控制台)引用创建的nuget包并使用变通方法(从%local%.dnx->%local%.nuget复制包)UWP应用程序也能够引用和使用该包。现在在RC2中,情况发生了一些变化,我再次能够使用升级后的库(项目文件中的工具升级,project.json的更改,netstandard1.4(因为根据this,1.5不适用于UAP10)))

c# - 获取 CoreCLR 中的可用类型

这很容易在旧的.NET中获取所有可用类型(例如对于某些接口(interface)),但我找不到在新的CoreCLR中如何做到这一点的方法。我想要做的是拥有像GetRepository这样的功能,它应该寻找IRepository的现有实现并返回该类型的新实例。实现将位于不同的项目中。所以,在.NET中我可以使用这样的东西:AppDomain.CurrentDomain.GetAssemblies().SelectMany(a=>a.GetTypes())目前我对CoreCLR的唯一解决方案是:publicTGetRepository(){foreach(Typetypeintypeof(

c# - 通过 project.json 将内容文件复制到 DNX 控制台应用程序的输出目录

我刚刚开始在VS2015中使用DNX1.0.0-rc1-update1。我的第一个应用程序是“控制台应用程序(包)”项目。一切正常,除了NLog日志记录。我怀疑这是因为NLog.config没有被复制到输出文件夹。我如何告诉VS通过project.json将此文件复制到输出文件夹?我试过像这样添加一个“资源”变量,但它不起作用:project.json..."resource":"NLog.config",...编辑1:我使用的是dnx451,所以兼容性不是问题。编辑2:我将以下内容添加到project.json"scripts":{"postbuild":["%project:Dir

c# - ThreadContextChanged 上的 AsyncLocal 值更新为 null

我正在尝试了解AsyncLocal在.Net4.6中的工作方式。我正在将一些数据放入AsyncLocal...但是当ThreadContext更改时它被设置为null。我使用AsyncLocal的全部原因是在等待异步操作时尝试跨线程保留/缓存此值。知道为什么会在上下文更改时专门调用它并将其设置为null吗?关于AsyncLocal的文档非常稀少……也许我完全弄错了。publicclassRequestContextProvider:IRequestContextProvider{privatestaticreadonlyAsyncLocal_requestContext=newAsyn

c# - MemoryCache.Default 在 .NET Core 中不可用?

我正在将一些代码从.NET4.6移植到.NETCore,但在使用MemoryCache时遇到了一些问题。4.6代码使用MemoryCache.Default来实例化缓存,但这在.NETCore中似乎不可用。在.NETCore中是否有与此等效的东西,或者我应该将自己的MemoryCache更新为单例并通过IOC注入(inject)它? 最佳答案 System.Runtime.Caching.MemoryCache和Microsoft.Extensions.Caching.Memory.MemoryCache是完全不同的实现。它们很相似

c# - 如何在 VS.NET 2015 中切换上下文?

我遇到了构建错误,因为我正在使用的某些类在“DNX4.5.1”而不是“DNXCore5.0”中可用。错误是:Thetypeornamespace'[someclass]'couldnotbefound.在“错误列表”窗口的项目栏中,我看到了DNXCore5.0。在上下文菜单中,选择了DNX4.5.1。为什么VS.NET在上下文为4.5.1时尝试继续使用DNXCore5.0? 最佳答案 如果有些人仍在为此苦苦挣扎,您可以通过从project.json文件的框架引用中删除它来取消引用DNXCore5.0。节"frameworks":{"

c# - 使用 Roslyn 在引用的程序集中获取接口(interface)实现

我想在我正在开发的框架中绕过一些经典的汇编扫描技术。所以,假设我定义了以下契约(Contract):publicinterfaceIModule{}这存在于说Contracts.dll.现在,如果我想发现这个接口(interface)的所有实现,我们可能会做类似以下的事情:publicIEnumerableDiscoverModules(){varcontractType=typeof(IModule);varassemblies=AppDomain.Current.GetAssemblies()//Badbutwilldovartypes=assemblies.SelectMany(

c# - 如何在 DNX Core 5.0 (ASP.NET 5) 中引用执行程序集?

我正在从.NET3.5-4.5移植一些代码。在我的程序集中,我有一些代码可以从当前正在执行的程序集中读取资源。但是,GetExecutingAssembly()不是DNX核心5.0中Assembly类型的方法。varxsdStream=Assembly.GetExecutingAssembly().GetManifestResourceStream(xsdPath);DNX核心5.0中Assembly.GetExecutingAssembly()的等价物是什么?或者,如果我需要一个命名空间来取回该方法(也许是一个扩展方法?),那么命名空间是什么? 最佳答案

DNX 5.0 中的 MySql

我想问-是否可以在DNXCore5.0中连接到MySql数据库?在我的项目中,我需要做webapi并且我有一个应该连接到MySql的vNext类库项目数据库并操作该数据库中的数据。但是……我安装了最新的.net/connector。我已经下载了MySql.DataNuGet包,并在引用中将其添加到DNX4.5.1和Core5.0中。但是我收到错误消息-打开数据库连接、执行查询等功能在DNXCore5.0中不可用。代码在VisualStudio2013和DNX4.5.1中也能正常工作。我无法找到如何在DNXCore5.0中连接到MySql的任何答案(甚至不可能)。有人建议我下载最新的连接

c# - ASP.NET 5 中的 RoutePrefixAttribute

我在ASP.NET5中启动了一个新的WebAPI2.0项目。我尝试创建自定义RoutePrefixAttribute类,但出现此错误Thetypeornamespacename'RoutePrefixAttribute'couldnotbefound(areyoumissingausingdirectiveoranassemblyreference?){ProjectName}.DNXCore5.0我应该改用其他类吗? 最佳答案 在MVC6中确实没有RoutePrefixAttribute。在Controller上应用[Route]