小编Joh*_*ers的帖子

TS2403:后续变量声明必须具有相同的类型。NPM 安装后

我已经在堆栈溢出中搜索了这个问题,但仍然不清楚为什么会发生这种情况/如何修复。

我想在我的 Typescript 项目中使用节点类型,因此我输入了以下命令:

npm install @types/node --save
Run Code Online (Sandbox Code Playgroud)

结果是:

c:/xyz/node_modules/@types/node/index.d.ts(89,13)
error TS2403: Subsequent variable declarations must have the same type.
Variable 'require' must be of type 'Require', but here has type 'NodeRequire'.
Run Code Online (Sandbox Code Playgroud)

我的机器有节点版本 7.0.3 安装的类型是版本 + @types/node@7.0.28

如果我删除卸载打字,我的项目编译没有问题。

根据错误消息,输入内容似乎不正确!修复它很混乱。有小费吗?

这是 index.d.ts 中失败的代码行节点要求

似乎需要绕过 NodeRequire(接口)以支持 Require.js?

这是 TSConfig 文件:

{
    "compilerOptions": {
        "module": "amd",
        "moduleResolution": "node",
        "target": "es5",
        "noImplicitAny": false,
        "jsx": "react",
        "sourceMap": false,
        "baseUrl": ".",
        "paths": {
            "OfficeFabric/*": [
                "node_modules/office-ui-fabric-react/lib-amd/*"
            ]
        }
    } 
}
Run Code Online (Sandbox Code Playgroud)

我尝试了下面的排除建议,但没有成功。Github 说,如果模块解析是 NODE,那么排除无论如何都不起作用。

node.js requirejs typescript

7
推荐指数
1
解决办法
8010
查看次数

VS2017代码审查“这些文件具有不同的编码”如何解决此问题?

我正在使用VS2017审查代码审查上的注释,该文件是CS文件。每当我双击注释以查看源服务器与本地更改之间的比较时,都会显示如下错误:

“这些文件具有不同的编码。左文件:西欧(Windows)。右文件:Unicode(UTF-8)。单击此处

不同的编码

我尝试无济于事:1)使用Western Encoding(Windows)关闭并重新打开文件,代码页分别为1252和800。2)使用Western Windows Encoding保存文件。3)关闭并重新打开Visual Studio。

最重要的是,在两个代码页匹配之前,代码审阅比较页面将不起作用。

在发生此错误之前,我对此文件所做的最后一件事是突出显示所有文本,“编辑/高级/淡化所选行”以将空格转换为制表符。可能是根本原因,但不确定如何解决?

有任何想法吗?

c# visual-studio-2017

6
推荐指数
1
解决办法
1659
查看次数

Selenium:http:// localhost:4444/wd/hub返回NullPointerException,我做错了什么

给定:尝试使用此代码在C#中使用RemoteWebDriver.

var url = new Uri("http://localhost:4444/wd/hub");
var wd = new RemoteWebDriver(url, DesiredCapabilities.Chrome());
Run Code Online (Sandbox Code Playgroud)

上面的新RemoteWebDriver代码在超时后才会响应...

更多细节

我已经使用这些参数启动了我的Hub到Selenium Server:

-jar "C:\SomeFolder\selenium-server-standalone-3.0.1.jar" -port 4444 -role hub
Run Code Online (Sandbox Code Playgroud)

并使用这些parms注册了一个节点..

-jar "C:\SomeFolder\selenium-server-standalone-3.0.1.jar" -role node -hub http://localhost:4444/grid/register -port 9662 
Run Code Online (Sandbox Code Playgroud)

调试

如果我在启动集线器后输入此URL,则表明存在已注册的节点:

HTTP://地点:4444 /格/控制台

但是在启动Hub后输入此URL时

HTTP://本地主机:4444/WD /集线器

浏览器显示指向ExternalSessionKey.java的此java(json)堆栈跟踪

{"status":13,"value":{"class":"java.lang.NullPointerException","stackTrace":[{"fileName":"ExternalSessionKey.java","className":"org.openqa.grid.internal.ExternalSessionKey","methodName":"fromWebDriverRequest","lineNumber":77},{"fileName":"WebDriverRequest.java","className":"org.openqa.grid.web.servlet.handler.WebDriverRequest","methodName":"extractSession","lineNumber":62},{"fileName":"RequestHandler.java","className":"org.openqa.grid.web.servlet.handler.RequestHandler","methodName":"getSession","lineNumber":231},{"fileName":"RequestHandler.java","className":"org.openqa.grid.web.servlet.handler.RequestHandler","methodName":"process","lineNumber":118},{"fileName":"DriverServlet.java","className":"org.openqa.grid.web.servlet.DriverServlet","methodName":"process","lineNumber":83},{"fileName":"DriverServlet.java","className":"org.openqa.grid.web.servlet.DriverServlet","methodName":"doGet","lineNumber":61},{"fileName":"HttpServlet.java","className":"javax.servlet.http.HttpServlet","methodName":"service","lineNumber":687},{"fileName":"HttpServlet.java","className":"javax.servlet.http.HttpServlet","methodName":"service","lineNumber":790},{"fileName":"ServletHolder.java","className":"org.seleniumhq.jetty9.servlet.ServletHolder","methodName":"handle","lineNumber":808},{"fileName":"ServletHandler.java","className":"org.seleniumhq.jetty9.servlet.ServletHandler","methodName":"doHandle","lineNumber":587},{"fileName":"SessionHandler.java","className":"org.seleniumhq.jetty9.server.session.SessionHandler","methodName":"doHandle","lineNumber":221},{"fileName":"ContextHandler.java","className":"org.seleniumhq.jetty9.server.handler.ContextHandler","methodName":"doHandle","lineNumber":1127},{"fileName":"ServletHandler.java","className":"org.seleniumhq.jetty9.servlet.ServletHandler","methodName":"doScope","lineNumber":515},{"fileName":"SessionHandler.java","className":"org.seleniumhq.jetty9.server.session.SessionHandler","methodName":"doScope","lineNumber":185},{"fileName":"ContextHandler.java","className":"org.seleniumhq.jetty9.server.handler.ContextHandler","methodName":"doScope","lineNumber":1061},{"fileName":"ScopedHandler.java","className":"org.seleniumhq.jetty9.server.handler.ScopedHandler","methodName":"handle","lineNumber":141},{"fileName":"HandlerWrapper.java","className":"org.seleniumhq.jetty9.server.handler.HandlerWrapper","methodName":"handle","lineNumber":97},{"fileName":"Server.java","className":"org.seleniumhq.jetty9.server.Server","methodName":"handle","lineNumber":499},{"fileName":"HttpChannel.java","className":"org.seleniumhq.jetty9.server.HttpChannel","methodName":"handle","lineNumber":310},{"fileName":"HttpConnection.java","className":"org.seleniumhq.jetty9.server.HttpConnection","methodName":"onFillable","lineNumber":257},{"fileName":"AbstractConnection.java","className":"org.seleniumhq.jetty9.io.AbstractConnection$2","methodName":"run","lineNumber":540},{"fileName":"QueuedThreadPool.java","className":"org.seleniumhq.jetty9.util.thread.QueuedThreadPool","methodName":"runJob","lineNumber":635},{"fileName":"QueuedThreadPool.java","className":"org.seleniumhq.jetty9.util.thread.QueuedThreadPool$3","methodName":"run","lineNumber":555},{"className":"java.lang.Thread","methodName":"run","lineNumber":-1}]}}
Run Code Online (Sandbox Code Playgroud)

任何人都可以为我解释Stack Trace,以及如何使其工作?

谢谢!

c# java selenium selenium-webdriver

5
推荐指数
2
解决办法
2万
查看次数

Karma、Angular 7 和 FontAwesome 问题无法绑定到“icon”,因为它不是“fa-icon”的已知属性

无法绑定到“icon”,因为它不是“fa-icon”的已知属性。

尝试在 people.component.spec.ts 中运行此测试时

import { async, ComponentFixture, TestBed } from "@angular/core/testing";
import { PeopleComponent } from "./people.component";



describe("PeopleComponent Unit Test", () => {
  let component: PeopleComponent;
  let fixture: ComponentFixture<PeopleComponent>;

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [PeopleComponent]
    })
      .compileComponents();
  }));


  beforeEach(() => {
    fixture = TestBed.createComponent(PeopleComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });


  it("should create", () => {
    expect(component).toBeTruthy();
  });
  ;
}) 
Run Code Online (Sandbox Code Playgroud)

跑步者显示此错误:

失败:模板解析错误:无法绑定到“icon”,因为它不是“fa-icon”的已知属性。

  1. 如果 'fa-icon' 是一个 Angular 组件并且它有 'icon' 输入,那么
    验证它是否是这个模块的一部分。
  2. 如果“fa-icon”是一个 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”以抑制此消息。
  3. 要允许任何属性添加 'NO_ERRORS_SCHEMA' 到该组件的 '@NgModule.schemas'。这是导致问题的 HTML。

这就是问题

我尝试在测试端导入 FontAwesomeModule 和 …

unit-testing typescript karma-runner karma-jasmine angular

4
推荐指数
1
解决办法
3601
查看次数

在扩展方法中使用await运算符时,是否需要考虑可能的重入编码问题?

我将在负载测试中使用此方法,这意味着可能会很快从不同的线程发生数千次调用.我想知道我是否必须考虑在后续调用中会发生什么,其中创建了一个新的WebClient但是在之前的等待完成之前?

    public static async Task<string> SendRequest(this string url)
    {
        using (var wc = new WebClient())
        {
            var bytes = await wc.DownloadDataTaskAsync(url);
            using (var reader = new StreamReader(new MemoryStream(bytes)))
            {
                return await reader.ReadToEndAsync();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我使用术语reentrant来描述这个方法将被一个或多个线程调用的事实.

c# multithreading asynchronous reentrancy task-parallel-library

3
推荐指数
1
解决办法
162
查看次数

使用 Async/Await 的 TypeScript 和 Promise 包装器。如何绑定遗留代码?

我正在尝试创建一个 JavaScript/typescript 函数来包装一个 Promise,通过返回一个新的 Promise,添加一个 try catch 和一个回调供用户编写代码。这是一个概念:

function XPromise(code) {
    return new Promise((resolve, reject) => {
        try {
           resolve(code());
        } catch (exception) {
            reject(exception);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

但是我将如何在类似这样的事情中使用上面的代码片段:

async function GetData(testClient, project, testPlan, suiteId) {
    return XPromise(code => {
        console.debug("GetData");
        testClient.getData(project, testPlan, suiteId)
            .then(data => {
                if (data.length === 0) reject(data);
                resolve(data);
            });
}
Run Code Online (Sandbox Code Playgroud)

遗留代码使用 .then 构造,这是放置拒绝和解析的理想位置,但不存在执行此操作的函数。

如果我这样做:

function XPromise(code, resolve, reject) {
    return new Promise((resolve, reject) => {
        try {
            resolve(code());
        } catch (exception) {
            reject(exception);
        }
    }); …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous async-await typescript

3
推荐指数
1
解决办法
2925
查看次数

VS2017 Intellisense 很慢,有时会崩溃,有什么建议吗?

我正在使用 VS2017 的社区版。版本 15.2(26430.14),这是截至 2017 年 7 月 7 日的最新更新。Intellisense 偶尔会很慢,并且会阻止我的编码工作的正常进度。它似乎在等待大约 10 到 20 秒后“醒来”。但是今天,它崩溃了,活动日志显示了此信息。

 <entry>
<record>1709</record>
<time>2017/07/06 00:17:33.497</time>
<type>Error</type>
<source>Editor or Editor Extension</source>
<description>System.InvalidOperationException: Cannot Match.  The session is dismissed.&#x000D;&#x000A;   
at Microsoft.VisualStudio.Language.Intellisense.Implementation.CompletionSession.Match()&#x000D;&#x000A;  
at Microsoft.VisualStudio.Language.Intellisense.Implementation.CompletionSession.OnViewBuffer_Changed(Object sender, TextContentChangedEventArgs e)&#x000D;&#x000A;  
at Microsoft.VisualStudio.Text.Utilities.GuardedOperations.RaiseEvent[TArgs](Object sender, EventHandler`1 eventHandlers, TArgs args)
Run Code Online (Sandbox Code Playgroud)

当时我正在编辑 XAML 并将绑定添加到 ContextMenu 的 IsOpen 属性。关闭编辑器并重新打开后,它工作正常......

我已经删除了除 Code Maid 之外的所有插件,我接下来会尝试。但是,我正在寻找解决此问题的建议。

visual-studio-2017

3
推荐指数
2
解决办法
3196
查看次数

为什么有人说"Builder Pattern"比使用Fluent接口的Extension方法更好?

在本讨论中(创建流畅的API),响应表明Builder模式比使用Extension方法创建Fluent接口要好.

这可能是什么原因?扩展方法遵循SOLID原则中的"O"......我个人只使用扩展方法来开发Fluent接口,但我想知道是否需要重新考虑这个...

c# extension-methods fluent builder

2
推荐指数
1
解决办法
871
查看次数

Node中的量角器:如何命令我的测试同步运行?

我想知道如何以同步顺序执行多个"describe"块?

describe('Go To Home Page', function () {  
    browser.ignoreSynchronization = true;
    it("Url should be on Login Page", function ()  {
        browser.get(HomePageUrl).then(function () {
            browser.wait(urlChanged(loginPageUrl), 2000).then(
                function (newurl){
                    var url = browser.getCurrentUrl().then(function (url) {
                        expect(url).tobe(loginPageUrl);
                        //I know I'm at Login page url... how do I kick off next test?                 
                    });                     
                }
            )          
        });
    });
}); 
Run Code Online (Sandbox Code Playgroud)

此测试转到主页,然后如果它被重定向到登录页面,我想使用新的Describe块执行所有登录测试.问题是,如果我将下一个Describe块放在与第一个相同的级别,则节点并行执行所有这些块.

我不想进入回调 - 地狱......上面的代码在我看来已经变得太深了.

selenium node.js jasmine protractor

2
推荐指数
1
解决办法
1694
查看次数

.NET 6.0 ConfigurationBuilder 缺少 AddJsonFile 方法

var builder = new ConfigurationBuilder().AddJsonFile(somepath);
Run Code Online (Sandbox Code Playgroud)

错误消息状态

ConfigurationBuilder 不包含 AddJSONFile 的定义。

如果我查看“依赖项/包”文件夹,则会显示以下内容:

Microsoft.Extensions.Configurations(6.0.1)

这似乎是该类的此版本中缺少的方法。

c# .net-6.0

2
推荐指数
1
解决办法
3213
查看次数

如何使用通用方法构建相同类型的列表?

鉴于:

public static void GetAllTypesInContainer<t>(AContainerWithChildren bw)
{
    var list = new List<t>();       
    var stuff = bw.GetChildren();

    foreach (var child in stuff)
    {
        if (child.GetType().Name == typeOf(t).Name)
        {
            list.Add((t)child);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如何将该类型的值添加到列表中?

c# generics

1
推荐指数
1
解决办法
74
查看次数

为什么C#4.5 async/await WebClient在使用StreamReader ReadToEndAsync时需要lambda方法?

鉴于:

    public async Task<string> SendRequest(this string url)
    {
        var wc = new WebClient();
        wc.DownloadDataCompleted += (s, e) =>
        {
            var buffer = e.Result;
            using (var sr = new StreamReader(new MemoryStream(buffer)))
            {
                var result = await sr.ReadToEndAsync();
            };
        };
        wc.DownloadDataAsync(new Uri(url));
    }
}
Run Code Online (Sandbox Code Playgroud)

该声明:

var result = await sr.ReadToEndAsync();
Run Code Online (Sandbox Code Playgroud)

在设计器中显示错误,如下所示:"await运算符只能在异步lambda表达式中使用"

在此输入图像描述

我不明白为什么会发生这样的消息,当我查看所有ReadToEndAsync示例时,它们看起来与此代码完全相同.

请指教...

c# lambda asynchronous webclient async-await

0
推荐指数
1
解决办法
1809
查看次数