将asp.net核心api添加到我正在处理的现有项目时,出现以下错误。
“直接检测到Microsoft.EntityFrameworkCore.Install /引用Microsoft.EntityFrameworkCore 2.2.1的版本冲突,以解决该问题”
我尝试添加Nuget程序包,但在许多不同的程序包中出现了进一步的版本冲突,并且该过程始终失败。起初我以为这可能是我的项目的问题,所以我从头开始了一个新的解决方案,并设法通过几个简单的步骤来复制该问题。
我已经阅读了以下文章,但是它的解决方案对我不起作用,因为我的任何csproj文件都没有引用“ Microsoft.EntityFrameworkCore”。 检测到NuGet软件包的版本冲突。
我还重新安装了.net SDK,重新启动了100万次,但仍然无法理解问题所在。
我希望能够集中对齐堆栈面板中的按钮.按钮数是动态的,并在加载控件时生成.例如,如果生成1个按钮,则此按钮应放在控件的中心.如果显示5个按钮,那么所有5个按钮应相互水平对齐,但是控件的中心位置.
另一种方法是让控件根据其内容动态调整大小,以便使用更多按钮更宽,然后在页面上水平对齐用户控件,但我不确定如何处理任何一种解决方案?
有人有什么想法吗?
我遇到了一直处理的特定实现问题.我有一个基本方法,它创建一个新的上下文,查询一个表并从表中获取"LastNumberUsed",在最终递增和写回之前对这个数字执行一些基本检查 - 所有这些都在一个事务中.
我编写了一个基本的测试应用程序,它使用Parallel.For执行此方法5次.使用Isolation.Serialization我发现在运行此代码时会出现很多死锁错误.我已经阅读了这个主题,并尝试将隔离级别更改为快照.我不再遇到死锁,而是发现我得到了隔离更新冲突错误.
我真的不知所措.每个事务需要大约0.009秒才能完成,所以我一直在想着将代码包装在try..catch中,检查死锁错误并再次运行,但这感觉就像一个混乱的解决方案.
有没有人对如何处理这个问题有任何想法(或者最好是经验)?
我创建了一个控制台应用程序来演示这个.在程序主目录中,我运行以下代码:
Parallel.For(0, totalRequests,
x => TestContract(x, contractId, incrementBy, maxRetries));
Run Code Online (Sandbox Code Playgroud)
TestContract方法如下所示:
//Define the context
using (var context = new Entities())
{
//Define a new transaction
var options = new TransactionOptions {IsolationLevel = IsolationLevel.Serializable};
using (var scope = new TransactionScope(TransactionScopeOption.Required, options))
{
//Get the contract details
var contract = (
from c in context.ContractRanges
where c.ContractId == contractId
select c).FirstOrDefault();
//Simulate activity
Threading.Thread.sleep(50);
//Increment the contract number
contract.Number++;
//Save the changes made to the context
context.SaveChanges(); …
Run Code Online (Sandbox Code Playgroud)