我正在尝试启动.NET Core 2/Angular 6 SPA.我使用"dotnet new angular"创建了一个Angular 5应用程序,然后使用angular.io中的本指南进行升级.完成升级后,我尝试使用"dotnet run"运行应用程序,然后出现一个带有错误的丑陋错误页面:
处理请求时发生未处理的异常.
AggregateException:发生一个或多个错误.(发生了一个或多个错误.(NPM脚本'start'退出,但未指示Angular CLI正在侦听请求.错误输出为:Unknown选项:'--extractCss'
InvalidOperationException:NPM脚本'start'退出,但未指示Angular CLI正在侦听请求.错误输出为:未知选项:'--extractCss'
想想也许我在升级过程中错过了一步,我第二次尝试并得到了同样的错误.
以下是我在创建应用后采取的步骤:
npm install -g @angular/cli
npm install @angular/cli
ng update @angular/cli
ng update @angular/core
npm install --save @angular/material @angular/cdk @angular/animations hammerjs
npm install -g rxjs-tslint
rxjs-5-to-6-migrate -p src/tsconfig.app.json
Run Code Online (Sandbox Code Playgroud)
我在Windows 10(1703)Enterprise上运行Node版本9.4.0和.Net Core 2.1.200.
有想法该怎么解决这个吗?这是一个完整的堆栈跟踪:
---> System.IO.EndOfStreamException: Attempted to read past the end of the stream.
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.SpaServices.AngularCli.AngularCliMiddleware.<StartAngularCliServerAsync>d__3.MoveNext()
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.SpaServices.AngularCli.AngularCliMiddleware.<StartAngularCliServerAsync>d__3.MoveNext()
--- End …Run Code Online (Sandbox Code Playgroud) 这可能很简单,但我正在尝试确定XML文档中是否存在节点.我以为我在这篇文章中找到了答案, 如何使用PowerShell检查节点是否存在而不会出现异常?,但我没有得到它的工作.这是我最近的尝试.
foreach ($vendor in $xml.Vendors.Vendor| Where-Object {$_.Type -match "Send"}) {
$NodeExists = $vendor.SelectSingleNode($vendor.EncKey)
if ($NodeExists -ne $null) {
# Do something
}
else {
# something else
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
编辑:这是我的测试文件中的XML.我需要找出每个供应商存在的EncKey或注释.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Vendors we will send and retreive files from Get-Send means we will get a file and send them a file Send means we will only send them a file-->
<Vendors>
<Vendor Type="Get-Send">
<Name>Vendor1</Name>
<RemotePath>/Remote/Path1/</RemotePath>
<EncKey>pgpenc.key</EncKey>
</Vendor>
<Vendor Type="Send">
<Name>Vendor2</Name>
<RemotePath>/Remote/Path2/</RemotePath>
<!-- This one …Run Code Online (Sandbox Code Playgroud) 我希望这是一个简单的问题.我有一个Powershell函数,可以对给定文件夹中的所有文件进行操作.有时我希望该功能在单个文件夹上运行,有时候我希望它在几个文件夹上运行,其路径存储在一个数组中.有没有办法让一个函数能够接受单个元素和一个数组?
Do-Stuff $aSingleFolder
Do-Stuff $anArrayofFolders
Run Code Online (Sandbox Code Playgroud) 我是一个Powershell。下午的大部分时间我都在盯着屏幕,试图弄清楚如何比较两个不同目录中多个文件的文件哈希。该脚本会将文件从 FTP 站点下载到一个目录 ($cDlPath) 中,并最终将它们复制到另一个目录 ($cDestPath)。我想比较文件中的文件哈希,以确保自下载以来没有任何变化。我正在使用 Get-Hash cmdlet 来获取文件哈希,但我不知道如何比较这两个哈希。如果文件不相等,我希望能够按名称识别更改的文件,以便检查文件。
我一直在摆弄下面的代码,但这似乎不是我想要的。
Compare-Object `
-ReferenceObject $(Get-ChildItem $cDestPath -Recurse | Where-Object {!$_.psiscontainer } | Get-Hash -Algorithm $cHashAlg) `
-DifferenceObject $(Get-ChildItem $cDlPath -Recurse | Where-Object {!$_.psiscontainer } | Get-Hash -Algorithm $cHashAlg)
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
我正在使用下面的代码,我似乎更接近一些。
Compare-Object $(Get-ChildItem $cDlPath -Recurse $_ | Where-Object { !$_.PsIsContainer } |
Select-Object Name, FullName, Length, @{Name=”SHA256 Hash”; Expression={ Get-Hash $_.FullName
-Algorithm "SHA256" }}, LastWriteTime) $( Get-ChildItem $cDestPath -Recurse $_ | Where-Object
{ !$_.PsIsContainer } | Select-Object Name, FullName, Length, @{Name=”SHA256 Hash”; …Run Code Online (Sandbox Code Playgroud) 我正在将一些旧的VB脚本转换为Powershell.我试图使用Switch语句来设置多个变量.在Powershell中这可能吗?在VBS中,我的代码看起来像这样:
Select Case ENV
Case "DEV"
: SRCDRV = "\\Server1" _
: DESTDRV = "\\Server1\Folder1\"
Case "TEST"
: SRCDRV = "F:" _
: DESTDRV = "\\Server1\Folder2\"
Case "PROD"
: SRCDRV = "F:" _
: DESTDRV = "\\Server2\Folder2\"
End Select
Run Code Online (Sandbox Code Playgroud)
我在PS中尝试了类似的东西,但它似乎没有设置变量.
switch ($cENV) {
DEV {
$SRCDRV = "\\Server1"
$DSTDRV = "\\Server2\Folder1\"
break
}
TEST {
$SRCDRV = "\\Server1"
$DSTDRV = "\\Server2\Folder2\"
break
}
PROD {
$SRCDRV = "\\Server1"
$DSTDRV = "\\Server2\Folder2\"
break
}
}
Run Code Online (Sandbox Code Playgroud)
当我检查DESTDRV或SRCDRV的值时,我收到一条错误消息:无法检索变量'$ SRCDRV',因为它尚未设置.关于我做错了什么的任何想法?
我正在尝试使用JetEntityFrameworkProvider从 WPF MVVM 应用程序使用 Access 数据库,但无法使其工作。我已经创建了模型,使用 Add-Migration 创建了迁移,但是当我运行 Update-Database 时,该命令永远不会完成。它确实创建了数据库,但唯一的表是 MSysAccessStorage。文档中有一部分说
为了使提供程序正常工作,表 MSysRelationships 应该可以从管理员访问
并进一步说
这是默认配置,因此无需进行更改。2003版本以来的访问具有可见的系统表,因此无需分配权限。必须完成配置并设置正确的双表(在代码的早期阶段)。
JetConnection.DUAL = JetConnection.DUALForAccdb;
我尝试添加此内容,但我无法弄清楚“代码中的早期部分”在哪里。我已将其添加到 App.xaml.cs 的顶部和数据库上下文中,但都不起作用。当我添加它时,我得到:
当前上下文中不存在名称“DUAL”。当前上下文中不存在名称“JetConnection.DUALForAccdb”。
这是我的上下文中的 OnConfiguring
protected override void OnConfiguring( DbContextOptionsBuilder optionsBuilder )
{
optionsBuilder.UseJet( @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\<User>\Desktop\New Folder\Staff.accdb;" );
}
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
我有一个我不想在任务栏中显示的应用程序.当应用程序最小化时,它最小化到SysTray.
问题是,当我将ShowInTaskbar = false最小化的应用程序设置在任务栏上方时,只需使用Windows 7启动按钮即可.如果我设置ShowInTaskbar = true应用程序最小化,但显然应用程序显示在任务栏中.
知道为什么会发生这种情况以及如何解决这个问题吗?

编辑:为了清楚起见,这里是我正在使用的代码:
private void Form1_Resize(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized) {
this.Hide();
this.Visible = false;
notifyIcon1.Visible = true;
}
else
{
notifyIcon1.Visible = false;
}
}
private void btnDisable_Click(object sender, EventArgs e)
{
// Minimize to the tray
notifyIcon1.Visible = true;
WindowState = FormWindowState.Minimized; // Minimize the form
}
Run Code Online (Sandbox Code Playgroud) 我已经设置了安装了Tailwind和Daisy UI 的Astro 项目,但我无法让 Daisy 控件工作。我从手风琴页面复制/粘贴代码,但是当呈现页面时,控件不起作用。就像控件是静态文本一样。范围和等级似乎有效,但 Switch 的作用就像一个复选框。
这是我的 tailwind.config.cjs
/** @type {import('tailwindcss').Config} */
module.exports = {
darkMode: 'class',
content: ['./src/**/*.{astro,html,svelte,js,ts,jsx,tsx}'],
daisyui: {
themes: ['light', 'dark']
},
theme: {
extend: {
fontSize: {
'45xl': '2.7rem',
'10xl': '10rem',
'11xl': '12rem',
'12xl': '14rem',
'13xl': '16rem',
'14xl': '18rem'
}
}
},
plugins: [require('@tailwindcss/typography'), require('@tailwindcss/forms'), require('daisyui')]
}
Run Code Online (Sandbox Code Playgroud)
看起来 DaisyUI 已加载且样式正常。DevTools 控制台中没有错误。我还可以检查什么?
我有一个CSV文件,其中包含各种不同的ID.有了一点帮助,我已经能够将文件修剪为具有最早日期的ID,并且它的工作效果很好......大部分时间.我有几个记录似乎返回最新的日期,而另一个记录返回最旧的,我无法弄清楚为什么.发生这种情况的记录总是相同的.
以下是我输入CSV中的示例:
Number File Date
OU00067949, 6/14/2012,
OU00067949, 6/19/2012,
OU00067949, 11/15/2012,
OU00067949, 1/30/2013,
OU00080302, 1/3/2013,
OU00080302, 1/3/2013,
OU00080302, 12/28/2012,
OU00080302, 12/28/2012,
OU00080302, 12/27/2012,
OU00080302, 12/27/2012,
OU00080281, 2/14/2013,
OU00080281, 1/30/2013,
OU00080281, 1/16/2013,
OU00080319, 12/27/2012,
OU00080319, 12/27/2012,
Run Code Online (Sandbox Code Playgroud)
这是输出:
Number File Date
OU00067949, 1/30/2013,
OU00080302, 1/3/2013,
OU00080281, 1/16/2013,
OU00080319, 12/27/2012,
Run Code Online (Sandbox Code Playgroud)
我期待OU00067949的日期为6/14/2012,因为这是最早的日期.相反,我得到了2013年1月30日.OU00080302也是如此,但其他都是正确的.有什么可能导致这个的线索?
这就是脚本的全部内容:
Import-CSV $ImportFile | Group-Object "Number" | ForEach-Object { $_.Group | Sort-Object "File Date" | Select -First 1} | Export-CSV $ExportFile -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
我正在使用Rails 4,并且在我的一个观点中有一个奇怪的问题.在我的控制器中,我使用Ruby_Open_Weather_Map gem 从OpenWeatherMap.org获取天气预报.数据以JSON形式返回,我循环访问JSON并提取接下来5天的预测信息.奇怪的是,在我的循环之后,显示了JSON数据.
我是Rails和JSON的新手,这对我没有任何意义.我有一个第二页,它有更多关于它的信息,同样的事情发生.这就是我的控制器的样子:
def index
options = { units: "Imperial", APPID: '6eff99d4b460d3a1acddcf1a727a7a45' }
@currentweather = OpenWeather::Current.city("Greenville, SC", options)
@forcastweather = OpenWeather::ForecastDaily.city("Greenville, SC", options)
end
Run Code Online (Sandbox Code Playgroud)
这就是我的观点:
<%= @forcastweather['list'].each do | day | %>
<div class ="row">
<div class="col-xs-5">
<strong><%= Time.at(DateTime.strptime(day['dt'].to_s,'%s')).in_time_zone("Eastern Time (US & Canada)").strftime("%A") %></strong>
</div>
<div class="col-xs-3">
<%= day['temp']['min'] %>
</div>
<div class="col-xs-3">
<%= day['temp']['max'] %>
</div>
<div class="col-xs-2">
<img src="http://openweathermap.org/img/w/<%= day['weather'][0]['icon'] %>.png" alt="<%= day['weather'][0]['main'].humanize %>">
</div>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
为什么JSON会在我的视图中显示,我该如何解决?
我有一个如下所示的文件夹结构:
-Daily Logs
-Script1Logs
-AnotherScriptLogs
-ThirdScriptLogs
Run Code Online (Sandbox Code Playgroud)
我想压缩"每日日志"下面的所有文件夹,并保留相同的文件夹结构.
有没有办法一次性压缩文件夹而不单独检查每个文件夹?此外,zip文件是否只包含上面显示的文件结构而不是日志文件夹的整个路径?
这是我用来压缩Daily Logs文件夹的内容,但它不压缩子文件夹,它包含每日日志文件夹的完整路径,作为zip文件中文件夹结构的一部分.
If (!(Test-Path $ARCHIVELOGFOLDER\$ARCHIVELOGFILE)) {
Write-Zip $file.FullName $ARCHIVELOGFOLDER\$ARCHIVELOGFILE
Write-Zip -Path $files -OutputPath $ArchiveFile -Append -FlattenPaths -IncludeEmptyDirectories -Quiet -Level 9
}
Run Code Online (Sandbox Code Playgroud) 我正在使用 Powershell 搜索一个大文件,以查找包含 mm-dd-yyyy 格式的所有字符串的所有字符串。然后我需要提取字符串以确定日期是否为有效日期。该脚本在大多数情况下都有效,但返回的结果太多,并且没有提供我想要的所有信息。文件中有像 012-34-5678 这样的字符串,为此我会失败,并且 12-34-5678 的值将作为无效日期返回。我也无法返回找到无效日期的行号。有人可以看看我下面的脚本,看看我可能做错了什么吗?
两行注释掉的行将返回字符串编号和在该行找到的整个字符串,但我不知道如何仅从行中取出 mm-dd-yyyy 部分并确定它是否是有效日期。
任何帮助将不胜感激。谢谢。
#$matches = Select-String -Pattern $regex -AllMatches -Path "TestFile_2013_01_06.xml" |
#$matches | Select LineNumber,Line
$regex = "\d{2}-\d{2}-\d{4}"
$matches = Select-String -Pattern $regex -AllMatches -Path "TestFile_2013_01_06.xml" |
Foreach {$_.Matches | Foreach {$_.Groups[0] | Foreach {$_.Value}}}
foreach ($match in $matches) {
#$date = [datetime]::parseexact($match,"MM-dd-yyyy",$null)
if (([Boolean]($match -as [DateTime]) -eq $false ) -or ([datetime]::parseexact($match,"MM-dd-yyyy",$null).Year -lt "1800")) {
write-host "Failed $match"
}
}
Run Code Online (Sandbox Code Playgroud) 有人可以向我解释我做错了什么以及为什么这不起作用?我只是试图从注册表项中获取值,并将它们作为字典返回到main函数.
public Dictionary<string, string> ListPrograms()
{
///List<object> Apps = new List<object>();
Dictionary<string, string> Apps = new Dictionary<string, string>();
string registryKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall";
using (Microsoft.Win32.RegistryKey key = Registry.LocalMachine.OpenSubKey(registryKey))
{
(from a in key.GetSubKeyNames()
let r = key.OpenSubKey(a)
select new
{
DisplayName = r.GetValue("DisplayName"),
RegistryKey = r.GetValue("UninstallString")
})
.Distinct()
.OrderBy(c => c.DisplayName)
.Where(c => c.DisplayName != null && c.RegistryKey != null)
.ToDictionary(k => k.RegistryKey.ToString(), v => v.DisplayName.ToString());
}
return Apps;
}
Run Code Online (Sandbox Code Playgroud)
检索字典后,我将其绑定到列表框.
listBox1.DisplayMember = "Value";
listBox1.ValueMember = "Key";
listBox1.DataSource = new BindingSource(u.ListPrograms(), …Run Code Online (Sandbox Code Playgroud)