Tag: dnx

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

我正在移植.NET 3.5 – 4.5中的一些代码。 在我的程序集内部,我有一些代码从当前正在执行的程序集中读取资源。 但是, GetExecutingAssembly()不是DNX核心5.0中的Assembly类型的方法。 var xsdStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(xsdPath); DNX核心5.0中的Assembly.GetExecutingAssembly()相当于什么? 或者,如果我需要一个命名空间来获取该方法(也许是一个扩展方法?),那么命名空间是什么?

使用Roslyn在引用的程序集中获取接口实现

我想在我正在开发的框架中绕过一些经典的汇编扫描技术。 所以,说我已经定义了以下合同: public interface IModule { } 这存在于Contracts.dll 。 现在,如果我想发现这个接口的所有实现,我们可能会做类似于以下的事情: public IEnumerable DiscoverModules() { var contractType = typeof(IModule); var assemblies = AppDomain.Current.GetAssemblies() // Bad but will do var types = assemblies .SelectMany(a => a.GetExportedTypes) .Where(t => contractType.IsAssignableFrom(t)) .ToList(); return types.Select(t => Activator.CreateInstance(t)); } 不是一个很好的例子,但它会做。 现在,这些类型的汇编扫描技术可能完全不足,而且它们都在运行时完成,通常会影响启动性能。 在新的DNX环境中,我们可以使用ICompileModule实例作为元编程工具,因此您可以将ICompileModule的实现ICompileModule到项目的Compiler\Preprocess文件夹中,并让它做一些时髦的事情。 我的目标是使用ICompileModule实现,以便在编译时执行我们在运行时所做的工作。 在我的引用(包括编译和程序集)和我当前的编译中,发现所有可以实现的IModule实例 创建一个类,让我们称之为ModuleList ,其实现产生每个模块的实例。 public static class ModuleList { […]

ASP.NET Core中的目录服务和帐户管理问题

我有一个ASP.NET核心API项目,我想利用DirectoryServices和DirectoryServices.AccountManagement命名空间。 经过一些研究,我认为我找到了一些可行的project.json引用: { “version”: “1.0.0-*”, “compilationOptions”: { “emitEntryPoint”: true }, “dependencies”: { “EntityFramework.Commands”: “7.0.0-rc1-final”, “EntityFramework.MicrosoftSqlServer”: “7.0.0-rc1-final”, “EntityFramework.MicrosoftSqlServer.Design”: “7.0.0-rc1-final”, “Microsoft.AspNet.IISPlatformHandler”: “1.0.0-rc1-final”, “Microsoft.AspNet.Mvc”: “6.0.0-rc1-final”, “Microsoft.AspNet.Server.Kestrel”: “1.0.0-rc1-final”, “Microsoft.AspNet.StaticFiles”: “1.0.0-rc1-final”, “Microsoft.Extensions.Configuration.FileProviderExtensions”: “1.0.0-rc1-final”, “Microsoft.Extensions.Configuration.Json”: “1.0.0-rc1-final”, “Microsoft.Extensions.Logging”: “1.0.0-rc1-final”, “Microsoft.Extensions.Logging.Console”: “1.0.0-rc1-final”, “Microsoft.Extensions.Logging.Debug”: “1.0.0-rc1-final” }, “commands”: { “web”: “Microsoft.AspNet.Server.Kestrel”, “ef”: “EntityFramework.Commands” }, “frameworks”: { “dnx451”: { “frameworkAssemblies”: { “System.DirectoryServices”: “4.0.0.0”, “System.DirectoryServices.AccountManagement”: “4.0.0.0” } […]

Attribute.IsDefined在哪里进入DNX Core 5.0?

我正在尝试检查属性是否具有属性。 过去常常这样做: Attribute.IsDefined(propertyInfo, typeof(AttributeClass)); 但是我得到一个警告,它在DNX Core 5.0中不可用(它仍然在DNX 4.5.1中)。 它尚未实现还是像其他类型/reflection相关的东西一样移动? 我正在使用beta7。

EF 6带有dnx项目

我有一个新的ASP.net 5 dnx类库,我用于entity framework。 我需要针对EF 6,因为我需要的一些function不在EF 7中。 首先,EF工具(如启用迁移)不存在。 我添加了一个旧的样式类库并安装了EF 6,现在命令就在那里。 当我运行启用迁移时,我收到此错误: PM>启用 – 迁移 使用“2”参数调用“SetData”的exception:“在程序集中键入’Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.Automation.OAProject’,Microsoft.VisualStudio.ProjectSystem.VS.Implementation,Version = 14.1。 0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a’未标记为可序列化。“ 在D:\ Projects \ Rebus \ FMS \ Code \ Current \ FMSSupport \ FMSSupport \ packages \ EntityFramework.6.1.3 \ tools \ EntityFramework.psm1:720 char:5 + $ domain.SetData(’startUpProject’,$ startUpProject)+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified:(:) [],MethodInvocationException + FullyQualifiedErrorId:SerializationException […]

使用本地依赖项发布基于dnx的WebJob

我正在尝试将基于DNX的WebJob发布到Azure。 为此,我将project.json和Program.cs文件添加到一些ZIP-archive并通过Azure门户上传。 这工作正常,但现在我希望我的WebJob项目引用一些其他本地基于DNX的项目(只是一个简单的类库)。 在这种情况下如何上传?

在VS2015上使用xUnit测试和UWP应用程序

这是这个问题的后续行动。 我按照这里描述的步骤进行操作,样本测试按预期工作。 这是我第一次使用这个工作样本,但是等待真正的工作设置,这是我遇到麻烦的地方。 作为测试我的应用程序的下一步,我使用“添加引用…”将我的UWP应用程序项目添加到xUnit Test项目中。 现在,在我引用我的项目之后,当我运行测试时(在测试资源管理器窗格VS2015中全部运行),我收到以下错误: Error Payload contains two or more files with the same destination path ‘Assets\SplashScreen.scale-200.png’. Source files: …\Projects\Sample\SampleUnitTest\Assets\SplashScreen.scale-200.png …\Projects\Sample\Sample\Assets\SplashScreen.scale-200.png SampleUnitTest 还有两个错误,正如上面所述,但是指的是Square150x150Logo.scale-200.png和Square44x44Logo.targetsize-24_altform-unplated.png图像文件。 我能理解这些错误意味着什么; 正在测试的应用程序和测试项目都生成目标为相同输出的可视资源(闪屏图像,徽标,任务栏图标等)但这些是注册应用程序并运行(在本地计算机上运行)所必需的我的情况)。 我从来没有遇到过这样一个有争议的问题,即输出相同视觉资源的两个项目,希望有人知道如何解决这个问题。 如果我将项目更改为Class项目,则unit testing不起作用,因此这不是一个选项。 您如何处理xUnit测试项目和正在测试的项目之间的争议情况(可视化资源)?

实体类型上的导航尚未添加到模型中,或被忽略,或者实体类型被忽略

实体类型“Notepad.Models.Note”上的导航“标签”尚未添加到模型中,或被忽略,或者实体类型被忽略。 public class Note { public Note() { CreationDate = DateTime.Now; Tags = new HashSet(); Parts = new HashSet(); } public int ID { get; set; } public virtual ICollection Tags { get; set; } public virtual ICollection Parts { get; set; } public DateTime? CreationDate { get; set; } } public class Tag { […]

获取CoreCLR中的可用类型

这很容易获得旧.NET中的所有可用类型(例如某些接口),但我无法在新的CoreCLR中找到如何做到这一点的方法。 我想要做的是拥有像GetRepository这样的函数,它应该查找IRepository的现有实现并返回该类型的新实例。 实施将位于不同的项目中。 所以,在.NET中我可以使用这样的东西: AppDomain.CurrentDomain.GetAssemblies().SelectMany(a => a.GetTypes()) 我现在对CoreCLR唯一的解决方案是: public T GetRepository() { foreach (Type type in typeof(T).GetTypeInfo().Assembly.GetTypes()) if (typeof(T).IsAssignableFrom(type) && type.GetTypeInfo().IsClass) return (T)Activator.CreateInstance(type); return default(T); } 但它只有在接口和实现位于同一个程序集中时才有效(这不是我的情况)。 谢谢!

如何从.NET Core库引用Windows.winmd?

我希望从.NET Core库中使用Windows运行时类型,如Frame或Button 。 当我使用传统的PCL(针对Windows / Windows Phone 8.1)时,它似乎工作正常。 但是,出于某种原因,在我将项目切换到DNX之后,它没有编译。 这是我的project.json : { “frameworks”: { // Profile32 == Windows + Windows Phone 8.1 “.NETPortable,Version=v4.6,Profile=Profile32”: { } } } 这是我的示例代码: using System.Linq; using Windows.UI.Xaml.Controls; public class Sample { public void Method() { Enumerable.Empty(); } } 我在此片段中的Frame上遇到编译器错误,说无法找到该类型。 所以,我做了一些关于这方面的侦探工作,并在我的常规PCL上点击了F12,看看它的声明组件。 事实certificate,我想要的大多数Windows运行时类型都存在于一个名为Windows.winmd程序集中,该程序集位于Program Files中。 我很想知道,有什么办法可以从.NET Core库中引用这个程序集吗? 谢谢! (请注意,我不能只使用常规PCL,因为我有特定于.NET Core的需求。) meta:顺便说一下,请不要从这个问题中删除asp.net-core标签,因为这与DNX有关。 编辑:我刚试过这个: “.NETPortable,Version=v4.6,Profile=Profile32”: […]