我有一个ASP.NET核心应用程序.我通过运行命令来运行应用程序
dotnet run
Run Code Online (Sandbox Code Playgroud)
当我构建这个ASP.NET核心应用程序时,我在五分之一的情况下看到以下错误.
C:... \错误CS2012:无法打开'C:...\bin\Debug \netcoreapp1.0\AAA.Web.dll'进行写入 - '进程无法访问文件'C:...\bin\Debug \netcoreapp1.0\AAA.Web.dll'因为它正被另一个进程使用.
除了上述问题,我还看到我在CSHTML文件中没有进行任何更新.我必须停止dotnet run命令,再次构建应用程序然后运行dotnet run命令.
我该如何解决这些问题?
我使用 Angular CLI 13.0.4 创建了一个新的 Angular 应用程序。它创建了一个 Angular 应用程序版本 ~13.0.0。当我使用该命令时ng build,出现以下错误:
./node_modules/css-loader/dist/runtime/api.js - Error: Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
Transform failed with 1 error:
error: Invalid version: "15.2-15.3"
./node_modules/css-loader/dist/runtime/noSourceMaps.js - Error: Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
Transform failed with 1 error:
error: Invalid version: "15.2-15.3"
Run Code Online (Sandbox Code Playgroud)
这些是我使用的不同版本:
我应该怎么做才能修复这个错误?
------ 更新 2022 年 3 月 2 日 ------
browserlist文件的内容:
# This file is used by the build system to adjust CSS and JS output to support the specified browsers …Run Code Online (Sandbox Code Playgroud) 我使用Angular2 alpha39和Babel来转换ES6 JS文件.我没有使用打字稿.
我创建了一个正确显示的组件.我在模板上添加了一个路由器插座.当我运行应用程序时,我收到错误消息:
没有路由器提供商!(RouterOutlet - >路由器)
调用堆栈是:
以下是代码片段:
模板:
.... // Removed for brevity
<div class="contenttext">
<router-outlet></router-outlet>
</div>
.... // Removed for brevity
Run Code Online (Sandbox Code Playgroud)
组件文件:
import { Component, View, bootstrap, OnInit } from 'angular2/angular2';
import { RouteConfig, RouterOutlet, RouterLink } from 'angular2/router';
import 'reflect-metadata';
import 'winjs';
@Component({
selector: 'dashboard-app'
})
@View({
templateUrl: '../js/dashboard.html',
directives: [ ContentComponent, FamiliesComponent, RouterOutlet, RouterLink ]
})
@RouteConfig([
{ path: '/employees', component: EmployeesComponent, as: 'employees'}
])
class DashboardAppComponent implements OnInit {
constructor() …Run Code Online (Sandbox Code Playgroud) angular2网站上有一个主要细节示例.我不能按照下面的例子中的模式.
在我的例子中,我有三个组件(1)customershome(2)客户和(3)customerdetails.该customershome组成的客户(主),并为CustomerDetails(详细信息).在客户组件中,我可以选择客户,客户的详细信息应显示在customerdetails组件中.
如何进行从客户组件到customerdetails组件的单向通信?
<div style="display: flex;">
<div style="width:25vw">
<customers></customers>
</div>
<div style="width:75vw; margin:5px">
<customerdetails></customerdetails>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我在域中几乎没有不同的有界上下文.CRUD操作的验证建立在每个有界上下文中.
例如,只有创建它的人是组长,我才能创建一个名为GAME的实体.
在这个例子中我有两个有界上下文(BC).一个是游戏BC,另一个是用户BC.为了解决这个问题,在游戏BC中,我必须在继续创建游戏之前向用户BC进行类似IsGroupLeader()的域服务调用.
我不认为DDD推荐这种类型的通信.我也可以在游戏BC中拥有一个用户实体,但我不想这样,因为同一个用户实体在不同的BC中的不同上下文中的使用方式不同.
我的问题是:
我是否应该使用域事件,其中游戏BC必须向用户BC发送事件以询问用户的状态?使用这种方法,我不会像IsGroupLeader那样进行同步调用,而是进行名为is_group_leader的事件.然后游戏BC必须等待用户BC处理事件并返回状态.只有在用户BC处理事件之后,游戏BC才会创建游戏实体.
CQRS是我问题的解决方案吗?
任何想法都赞赏.
埃里克在他的书中很少涉及模块的主题.他也没有谈到模块结构与有界上下文的关系和例子.有界上下文是否包含包含有界上下文的模块或模块?当应用程序有DDD时,它可以扩展多么容易?
在设计可扩展应用程序时,应用程序的结构非常重要.Microsoft MEF框架可以从dll自动发现模块/组件.
让我们举个例子.在电子商务应用程序中,我们可以为付款处理提供有限的上下文.付款处理可以是抽象的,因此我可以稍后使用Paypal或Payflow等更多支付处理器扩展应用程序.目前我只有Paypal,几个月后我想整合Payflow.为了集成Payflow,我可以有一个程序集(一个dll)来实现支付处理的接口.我可以在应用程序中删除该DLL,MEF将自动发现它.
这里的挑战是,为PayFlow支付处理创建的DLL是一个模块,而不是有界上下文(BC).如果我将其创建为BC,我们有两个用于支付处理的 BC .(BC为Paypal创建,BC为Payflow创建).如果我们使用Bounded Context中的模块和Bounded Context作为程序集(dll)构建应用程序,那么模块可以作为文件夹而不是程序集驻留在BC中(您可以将其视为在Visual Studio中创建的C#库).
我们如何使用DDD处理这种可扩展性问题?为支付处理,卑诗省和不同的文件夹它下面的模块,一个贝宝等......还是我们需要子BC另一BC里面?
var maxDictionary = new Dictionary<int, double> { { 10, 40000 } };
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,编译器是否使用构造函数?或者编译器是否创建了KeyValuePair并添加到字典中?我试图理解编译器如何解释它.
据我所知,在JavaScript中,每个对象都有一个prototype,它暴露了一些默认属性.我有以下代码,我试图通过设置两个对象的Year属性prototype.但这两个电话都失败了.
toLocalString()如果我没有访问权限,如何覆盖任何对象prototype?请注意,以下代码用于测试prototype属性,但我的目的是覆盖该toLocalString()方法.
var car = {
Make: 'Nissan',
Model: 'Altima'
};
car.Year = 2014;
alert(car.Year);
alert(car.prototype); // returns undefined
car.prototype.Year = 2014; // Javascript error
// --------------
function Car() {
this.Make = 'NISSAN';
this.Model = 'Atlanta';
}
var v = new Car();
v.prototype.Year = 2014; // JavaScript error
alert(v.prototype);
Run Code Online (Sandbox Code Playgroud) 我看到一对夫妇的例子是杰森特普利兹已经撰写了有关使用Web工人角2 角4 CLI现在支持平台工人运行在辅助线程的应用程序.该阶乘的例子就是一个很好的例子.或者这个循序渐进的例子.
使用platform-worker保证所有长计算操作都在web worker中运行?或者我应该创建另一个使用platform-worker来运行长计算操作的角度模块(不是app模块)?因此,将有两个模块,一个用于应用程序,另一个用于长时间操作?
我应该Worker像这个例子一样创建单独的创建工作线程吗?
如何根据操作进度更新UI?我假设如果长操作是在for循环中完成的,那么在循环完成之前,它不会让UI知道进度吗?我应该将长操作分成多个小操作并更新UI吗?
angular ×3
angular-cli ×2
.net-core ×1
asp.net-core ×1
c# ×1
constructor ×1
cqrs ×1
dictionary ×1
javascript ×1
jspm ×1
prototype ×1
web-worker ×1