执行实体框架迁移时出现以下错误
dotnet.exe:System.ArgumentNullException:值不能为null。第1行字符:1
+dotnet ef-在此处输入代码-启动项目../Bloomerang.Web迁移添加评估问题
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CategoryInfo:NotSpecified:(System.Argument…不
我注意到,在.NET核心应用程序的依赖项中,有Microsoft.CSharp和Microsoft.VisualBasic,它们的依赖项几乎相同:
我想更好地理解:
为什么(看起来像是)首先需要特定于语言的DLL
为什么需要两个DLL
为什么(看起来像是)首先需要特定于语言的DLL
它们的存在是为了支持特定于语言的功能。在C#的情况下,这主要是针对动态。在VB中,这主要是针对特定于VB的成员,如AscW或vbCrLf(也可以从C#中使用)以及VB编译器使用的某些类型
为什么需要两个DLL
因为
我正试图在Ubuntu上编译并运行一个独立的C#二进制文件,但我在安装库时遇到了麻烦。我的理解是,如果我为一个特定的运行时进行发布,那么它应该能够在不安装的情况下运行。那么文件和二进制文件一起运行,或者我在做错误的假设
当我尝试在其publish目录之外运行应用程序时,我得到:
未能解析库符号hostfxr_main,错误:./neoj:未定义的符号:hostfxr_main
分段失败(核心转储)
如果我列出已安装的dotnet软件包,它当前看起来如下所示:
dotnet主机/xenial,现在
我有一个调用需要令牌的外部服务的类,它是使用Settings类注入的
现在,根据请求,我需要使用两个令牌中的一个
我想使用中间件查看传入的请求,然后配置注入到我的服务中的内容,但不确定这是否可行
我可以从中间件中配置DI吗?我不确定您是否可以从中间件中配置依赖项注入,因为DI在容器安装过程中已经完成(如果您使用的是随.NET Core提供的DI系统)(请查看startup.cs类)
我有一个调用需要令牌的外部服务的类,它是使用Settings类注入的
现在,根据请求,我需要使用两个令牌中的一个
我正在尝试对我的一个.Nuget包(.Net Core 2)使用语义版本控制
这个版本看起来像1.0.0-my_fancy_branch.123
您可以猜到,我尝试将分支名称和当前BuildId设置为预发布标记
不幸的是,dotnet build会出现以下错误:
。。。不是有效的版本字符串。
但是为什么呢?dotnet push/nuget绝对优秀的文档中没有列出任何禁止使用的字符
我认为PIP是迟钝的…根据上的参考,NuGet使用从NuGet 4.3.0开始的。在早期版本中,仅支持SemVer
就好像我联系了Sendrid,想知道我怎么可能不发送电子邮件
这是因为我需要一个用户名和密码才能做到这一点
Sendgrid在Twitter上说(下午)
要通过SMTP发送邮件,您需要将主机设置为。然后,您可以使用端口587、2525或25进行TLS连接,并且可以使用SendGrid用户名/密码进行身份验证,或者使用在您的帐户上生成的API密钥
代码:
var resultMail=await _viewRenderService.RenderToStringAsync(“~/Views/Tem
我正在开发一个.Net核心解决方案,其中我们刚刚添加了.Net核心lambdas。
新创建的lambda都已设置好,包括aws-lambda-tools.json
我所要做的就是使用TeamCity自动发布这些lambda。
(已在TC上为解决方案的其余部分设置了连续部署)
此外,我不希望每次添加新Lambda时都更新TC构建步骤
如何设置TC以自动发布所有lambda?
我应该使用.Net CLI还是有任何插件可以帮助我配置此步骤?最后,我在解决方案的根目录中选择了一个非常简单的powersh
有人通过SSL使用.NET Core 2.0连接到AmazonMQ吗
使用Apache.NMS.ActiveMQ.Core包进行连接时出现以下错误:
System.NotSupportedException: The requested security protocol is not supported.
at System.Net.SecurityProtocol.ThrowOnNotAllowed(SslProtocols protocols, Boolean allowNone)
如何在成功构建后自动使包版本与程序集版本相同
在Package version(软件包版本)字段中键入程序集版本?请注意,如果您想要自动化,您需要这样说。更新后,只需清理并重新构建项目以反映它,或者删除obj和bin文件夹并重新构建,具体取决于您使用的开发环境。
我有一个.NET核心控制台应用程序,它从RabbitMQ读取消息并将数据保存到数据库。它使用RabbitMQ.Client assembly 5.1.0并设置如下EventingConsumer:
var factory = new ConnectionFactory
{
HostName = _hostName,
UserName = _userName,
Password = _password,
RequestedHeartbeat = 20,
Au
标签: .net Core
web-configxdt-transformasp.net-core-cli
直到今天早上我更新到2.1.401,一切都很好。
我有一个CI/CD进程(使用Jenkins),它使用CLI命令在生成的web.config文件(由.NET Core生成)上运行转换。文件与生成的文件完全相同,没有任何更改:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<
标签: .net Core
azureservicebusmasstransitautomatonymous
我正在尝试使用Azure服务总线将MassTransit配置为使用自动状态机,但我看不到任何关于如何实现这一点的工作示例。我们之前使用的是RabbitMQ,我们使用以下代码配置它。我已改为使用Azure服务总线而不是.CreateUsingRabbitMq()操作,但似乎存在一些配置错误。官方文件在这方面有点浅薄
操作系统:Windows10Pro
Visual Studio版本:2017
Dotnet版本:2.2
我在Azure服务总线中创建了一个名为“SomeQueue”的队列
我有一个St
我已经介绍了几个实现IDataErrorInfo接口的示例,以及所有实现类似以下内容的示例:
public string Error => null;
public string this[string columnName] {
get {
string res = null;
switch (columnName) {
case "FirstName":
if (FirstName != "
当通过dotnet restore命令还原我的NuGet包时(或者如果这是dotnet build的一部分),是否有办法运行自定义脚本
我想复制一个文件到用户的主目录,如果它还没有
基本上,我想用.NET Core的NuGet复制一个NPM安装钩子。NuGet用户可能不知道什么是NPM安装钩子。我不。你想做什么?NuGet软件包可以包含安装/卸载脚本,如果这是您的意思,它们是在dotnet restore上运行还是仅在dotnet add-package上运行?现在我查找了它,您想要它做什么?N
我正在尝试将HttpClientFactory配置为使用授权标头。问题是必须从auth服务检索auth令牌,这是另一个HTTP调用,最好使用wait完成。但是,这并没有像预期的那样起作用(至少在ASP.NET Core 2.2中没有):
//Func令牌工厂=。。。
builder.ConfigureHttpClient(异步(提供程序,httpClient)=>
{
字符串令牌=等待令牌工厂(提供者);
httpClient.DefaultRequestHeaders.Authorizatio
在.net核心web应用程序中,我希望以单例形式注入一个新的DatabaseReader。因此,我在Startup类中使用AddSingelton
services.AddSingleton(x => new DatabaseReader(pathToFile));
您认为重用DatabaseReader是个好主意吗?
谢谢单一连接是一个坏主意-如果对连接的访问被正确锁定,这意味着网站/应用程序一次只能为一个用户服务
这意味着您的应用程序可伸缩性受到极大限制,无法获得大量用户
当你的连接
每次登录Blazor客户端应用程序后,我都会看到下面的图片,我必须刷新页面,以便用用户名或电子邮件替换哈希代码
loginDisplay.razor应该显示用户的姓名/电子邮件:
<AuthorizeView>
<Authorized>
Hello, @context.User.Identity.Name!
<a href="LogOut">Log out</a>
</Authorized&g
我在Azure DevOps中的一个管道中添加了Use.NET Coretak,因此我可以为特定管道使用特定版本的SDK
不幸的是,我将安装路径设置为$(Agent.ToolsDirectory)/dotnet,此选项将版本缓存在代理中,从而使所有使用代理的管道都可以使用该SDK版本
我想将其还原,并使代理再次使用默认值。我该怎么做
我想将其还原,并使代理再次使用默认值。我该怎么做
如果您正在使用Azure管道代理池中的托管代理,则只需删除管道中的Use.NET Coretaks,以便使代理使用
什么是从项目中删除所有引用的dotnet命令
我知道我可以使用dotnet删除引用删除单个引用。但是如果我想全部删除它们呢?但是它们在dotnet 3.1.100预览版3上似乎对我不起作用
我只是使用shell(在Linux上)来实现这一点:
dotnet remove reference $(dotnet list reference | tail -n +3)
调用dotnet list reference以查找所有项目到项目的引用,然后将它们管道化到tail以从输出中删除标题,然后将生成
我使用Automapper在DotNet core中强制转换DTO,没有任何问题。它很好用
但是我想知道系统是如何调用我的类的,这个类是从Profile类驱动的
public class ViewModelToEntityMappingProfile : Profile
{
public ViewModelToEntityMappingProfile()
{
CreateMap<RegistrationViewModel, AppUser>().Fo
我可以从收到的IMessage.NMSReplyTo中获取IDestination。但是我想看看它的名字(用于日志记录)。有办法吗?IDestination接口有一个方法来获取它所表示的目的地的类型,从那里您可以转换为目的地的类型,这样您就可以获取名称。例如,可以将返回类型为主题的IDestination转换为ITopic,从那里可以调用以读取目标名称。对于临时目的地,在大多数情况下,您不需要知道它们的名称,因为它们是生成的,并且它们的生命周期与连接相链接
我注意到,在编译.NET核心控制台应用程序时,在Windows上创建了带有项目名称的dll和exe文件。为什么呢?在完整的.Net framework中,只会创建exe文件。在.Net Core 3.0之前,只创建了dll(尽管您仍然可以进行依赖于平台的单个文件构建)。在这些情况下,您必须使用命令dotnetmyproject.dll启动程序
在.NETCore3.0中,他们添加了exe,它实际上仍然只是上述命令的包装器。在其他操作系统上,它也会创建一个可执行文件,它只是将其命名为MyProje
在我的dotnetcore winforms应用程序中,我能够在IDE中运行时从app.config正确获取连接字符串
var connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
对于运行时,我想我应该替换MyApp.Win.config文件中的连接字符串。但是,正在从MyApp.Win.dll.config提
我正在努力理解dotnet run和dotnet build命令之间在.csproj文件中定义的常量方面的区别
example.csproj
Exe
netcoreapp3.1
美元(定义常量);包括测试
program.cs
使用系统;
名称空间定义示例
{
班级计划
{
静态void Main(字符串[]参数)
{
#如果包括测试
Console.WriteLine(“成功了!”);
#恩迪夫
控制台。WriteLine(“你好,世界!”);
}
}
}
如果我运行dotnet run
这是一个让我困惑的奇怪的问题。我有一个.NET核心应用程序作为可靠的服务部署到服务结构集群。这非常有效,直到我将最后两行添加到CSPROJ文件:
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
我在使用HttpClientHandler发送证书时遇到困难,因为该证书不会出现在服务器的请求中。该证书具有用于服务器和客户端身份验证的适当EKU,以及“数字签名”的密钥用法@davidsh认为这个问题是因为缺少HttpClient的日志记录,但在Visual Studio中运行我的项目(日志设置为跟踪并使用dotnet 3.1.401)时没有出现输出错误。我对logman一点也不熟悉,但在执行代码时,当问题应该发生时,我运行了logman,但日志中没有任何内容显示问题可能是什么。测试代码的选项
在使用迁移填充数据时,我似乎对使用EF Core 3.1和Oracle 12进行编码有问题
我尝试用一些值填充数据库,我希望在迁移期间这样做
实体类如下所示:
public class AlertTemplate
{
public int AlertTemplateId { get; set; }
public short AlertTemplateVersion { get; set; }
public short NumberO
我已使用以下命令生成一个新的ASP.net Core MVC 3.1应用程序:
donet new mvc
一切正常,但我想了解一些事情:
为什么我的startup.cs文件不包含此行:
app.UseMvc();
我在教程中看到了这一行,我想了解为什么我的应用程序没有这一行就可以工作
谢谢
编辑:以下是我在Startup.cs中看到的内容:
public void ConfigureServices(IServiceCollection services)
{
根据这篇Microsoft博客文章,我应该能够在fsx脚本中使用以下语法:
#r "nuget: FSharp.Data"
不幸的是,编译器给了我以下错误:
The package management feature requires language version 5.0 use /langversion:preview F# Compiler(3302)
我相信我已经正确安装了dotnet.core 5.0:
dotnet--info
.NET SDK(反映任何全
我试图找到一种方法,将razor pages项目分解为多个项目,使其模块化
我的想法是,我希望将与模块相关的功能隔离到不同的项目中,而不是让单个项目管理所有模块。基本上,我在我的API项目中遵循一个垂直切片干净的体系结构,我想在razor页面中实现同样的功能
我想象的结构如下:
核心razor页面库项目,其中将包含布局、任何共享的局部视图和资源
每个模块的razor pages库项目将包含与模块相关的文件
主要的razor页面web项目将引用每个模块项目,并将包含一些一般视图(如隐私政策等)
无论目标是net5.0还是net6.0框架,当试图创建sslstream时,它会在Ubuntu操作系统上运行时重复抛出错误,而在Windows操作系统上运行时,处理此错误的正确方法是什么
错误消息
System.Security.Authentication.AuthenticationException:身份验证失败,请参阅内部异常。
--->Interop+OpenSsl+SslException:SSL握手失败,出现OpenSsl错误-SSL\u错误\u SSL。
--->互操作+加密+O
如何配置azure管道以根据环境使用不同的appsettings文件
我有4个不同的文件,无法根据环境转换appsettings.json
有人有想法吗?您可以在开始时使用powershell任务来设置环境,如$Env:ASPNETCORE\u environment=“Development\homolor”。或者您可以更改appsettings.json文件下的ASPNETCORE\u环境。检查并确认。
我已经在.Net核心应用程序中创建了api项目。我还创建了一个方法来接受HttpRequestMessage作为参数。现在我尝试使用Postman调用我的api方法,并将include file作为主体参数,但我的api方法没有调用
这是代码
[Route("api/[controller]")]
public class ValuesController : Controller
{
[HttpPost]
public HttpResponseMessage PostFiles
我遵循了教程,只是在web应用程序中实现了它,并且在localhost中一切正常。当我调用API获取给定日期的日历事件时,我会返回事件列表。然而,当我部署到我的测试站点时,我得到了一个502坏网关响应,发出了与localhost中相同的调用
有人有过同样的经历吗?如何修复它?如果它在本地主机上工作,而不是在部署时工作,那就意味着存在尚未满足的配置。有关使用ASP.NET设置web应用程序的信息,请选中此项
要成功运行以下代码,必须首先添加
在Google API控制台中将URI重定向到您的项目。
我正在创建一个dotnet core 2.1 mvc应用程序。我使用Win10作为开发机器,但我的prod服务器是Linux。是否可以在Windows机器上构建它,还是应该使用Linux设备构建并部署到prod上?我可能面临的任何执行、引用或性能问题 不能在Windows上构建,也不能在Linux上部署
例如:dotnet构建-运行时ubuntu.16.04-x64
查看关于如何构建特定于linux的
我使用dotnet publish-r linux-x64发布我的.NET Core应用程序,因此它是自包含的,并且运行它的服务器上没有安装.NET Core runtime。我想它是用.NETCore2.1.something构建的。我如何才能确定确切的版本?理想情况下,我希望在运行时得到这个结果,这样应用程序本身就可以报告它正在运行的运行时,但即使有一些SDK工具报告它(如dotnet get runtime version My.Assembly.Dll),这总比什么都没有好。当应用程序发
在开发、登台和生产中,我的控制器使用[Authorize]属性来确保只有经过授权的用户才能访问这些方法。这显然需要连接到身份验证服务
然而,我和我的团队经常乘坐火车和飞机旅行,那里有不可靠的WIFI服务。在飞机旅行中删除这些属性进行开发,然后将它们重新投入生产,这不是一个可行的解决方案。我希望有一个选项来配置web服务,以便它在尝试进行身份验证时不执行任何操作,这样我们仍然可以在长途旅行中进行开发。我见过一些自定义身份验证方案,但有没有简单的“不做任何事情”的方法,或者简单的自定义身份验证方案的
我在尝试从Azure DevOps构建任务生成DocFX文档时收到以下警告(在本地工作正常):
我做错了什么,还是DocFX的问题
如果需要,这里是我的代码分支:感谢您为我指明了正确的方向我在azure pipelines.yml中将VM映像设置为vs2017-win2016后,它就工作了,如下所示:
pool:
vmImage: vs2017-win2016
DocFX需要Visual Studio(或至少VS构建工具)来构建文档。之所以如此,是因为VS是本地安装的,而不是我在Azure
截至今天,该网站为.NET Core 2.2提供了两个版本的SDK。其中一个旁边有一个小文本“(与VS2017兼容)”
有人能解释为什么另一个不兼容,或者为什么这种分离首先存在?它们有何不同?最新一期(在撰写本文时)对此进行了介绍。我建议观看(以及每一个站立,因为它们都是现场直播的,观众可以提交问题来回答)
本质上,两者都是SDK的稍微独立的构建。将鼠标悬停在站点的框上(如下图所示),表明链接到的SDK的URL不同
第一个链接下载SDK版本2.2.204,而第二个链接下载SDK版本2.2.10
标签: .net Core
mstestspecflowspecrunrunsettings
我检查了几乎所有关于如何从MSTest中的.runsettings文件读取参数的堆栈溢出和Microsoft文档,并尝试了所有方法,但没有一种对我有效
我使用的是.NETCore 2.2,而不是2019,Selenium,SpecFlow+Runner。
不适用于SpecRun.SpecFlow numget包,但适用于SpecFlow.MStest numget包。
我试着使用它,正如这里提到的:
他们都不为我工作
.runsettings文件:
`
我也尝试了[AssemblyInit
我有一个dotnetcore控制台应用程序构建,用于连接到sqlservicebroker实例以监视表更改
该应用程序监视一个从ERP系统更新的表,然后将消息发布到我们的总线
它在作为控制台应用程序运行或在IDE中调试时运行良好
我在使用TopShelf将其配置为windows服务时遇到问题
以下是切入点:
private static void Main(string[] args)
{
RegisterComponents();
将.Net Core从2.1升级到2.2后,对控制器运行集成测试
当运行控制器上不存在的URL的测试用例时,我得到了405 MethodNotAllowed
我希望获得状态代码404(与升级到2.2之前一样),但不允许使用405方法
控制器:
[Authorize]
[Authorize(Policy = Constants.APIPolicies.OrgId)]
[ResponseCache(Location = ResponseCacheLocation.None, NoStore = tr
标签: .net Core
localhostmacos-mojaveself-signedxamarin.mac
我有一个本地webapi,我使用自签名证书在pc上运行。我可以使用浏览器()访问webapi(以.net core编写),但当我在Mac OS Mojave上使用httpclient时,我遇到了一个例外(High Sierra和Catalina工作)
System.DllNotFoundException:libc.dylib程序集:类型:成员:(null)
at(包装器管理为本机)System.Net.NetworkInformation.CommonUnixIPGlobalPropertie
如何将dotnet core Blazor解决方案从(3.1.101 x64 SDK)升级/迁移到(3.1.102 x64 SDK)
使用visual studio 2019 prev 3社区。
Win10开发机器
我已从安装了新的3.1.102 x64 SDK,但它会导致发布失败
iLLink failed with exit code -532462766
and.
Unhandled exception. Mono.Linker.Steps.XmlResolutionExcepti
对于如何为.NET核心员工服务(例如开发、生产等)指定环境变量,然后使用环境变量,我有点困惑
下面是我当前启动的服务,它作为docker容器执行:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Host
我在Azure DevOps服务器上创建了发布管道,但遇到了一些问题
如何更改.net核心配置文件(appsettings.EnvName.json)中的属性
当我在框架上创建应用程序时,我有parameters.xml,其中我将XPath设置为value、default值和属性名。在管道上我设置了键值。但在net core应用程序上,此方法不起作用=)
我想使用大致相同的方法。我将如何指示该值及其值的路径。例如:
ConnectionStrings.Db1="Server={DB1.Serve
我正在尝试使用MethodDevorator.Fody启用基于属性的方法拦截
我想创建一个可重用组件(nuget包),期望消费者将配置信息注入服务集合。
但我没有找到任何标准的方法将依赖项注入属性
请提供任何解决方法来实现这一点
将解决方案从.net framework 4.6移植到.net core时。我一直坚持使用schematron部分进行xml验证,我使用xmlPrime进行验证,似乎xmlPrime不支持.NETCore。
任何建议。两个简单示例改编自.NET Core 3应用程序中的XQuery 3和XSLT 2,并运行良好
从这里检查两个简单的示例,这两个示例改编自.NET Core 3应用程序,然后运行良好,以在.NET Core 3应用程序中执行XQuery 3和XSLT 2
从这里检查
我注意到EF Core(至少在版本3.1.4和3.1.8中)中有一种奇怪的行为,我想知道我是否做错了什么,或者为什么会发生这种情况
当我使用Include()并选择到一个anomymous类中时,子类将按预期加载,但在select语句中使用命名类时,子类为null。只有在我执行.Take(x)之后,如果我在Take()之前枚举列表,那么差异才会发生。所有内容都将加载,但如果我不加载,则子类为null
命名类:
var items = _context.TABLE.Include(a =>
使用浏览器刷新刷新asp net托管的BLAZOR Progressive Web应用程序时,PWA应用程序将执行身份验证往返。在此时间跨度内,main content div显示文本:“授权…”。这个消息来自哪里?我的目标是在显示此消息的同时显示微调器边框,以便用户体验动画。以下是我所知道的:
在wwwroot的索引页中显示初始“加载…”消息
对于每个AutherizeView,授权部分可用于显示自定义消息
但我无法找到默认“授权…”消息的来源。有两个地方需要您的意图
首先是在你的App.
1 2 3 4 5 6 ...
下一页 最后一页 共 76 页