小编Tho*_*mes的帖子

System.Net.Http DLL 未复制到 bin 文件夹中 - IdentityServer4.AccessTokenValidation

我有一个使用完整.net 4.6.1的.net core项目的API项目我正在更新我的一个使用Identity Server 4的nuget包,并确保它不与我的一些旧代码冲突,所以我删除了bin文件夹内容。

我重建了项目,现在无法注入我的 nuget 包,说找不到 system.net.http 4.1.1.0。经过几个小时的慢慢排除后,发现当项目重建并将所有 DLL 放入 bin 文件夹时,它并没有复制 system.net.http DLL。

奇怪的是,当我使用 .net 4.6.1 创建一个新的 .net core API 项目并删除 bin 文件夹并重建它时,它确实复制了 system.net.http dll。

所以我的问题是 - 如何确保 DLL 被复制到 bin 文件夹中,这样处理该项目的其他人就不会发生这种情况?


更新2017-03-03 11:00

所以我已经找到了是什么破坏了我的项目,但我无法弄清楚为什么/如何修复它。

1) 如果您创建一个空白的 .net core API 项目,将其更改为使用 .net461,清理您的 bin 文件夹并构建它,您将在文件夹“bin\Debug\net461\win7-x64”中看到 System.Net.Http DLL。

2)现在将 IdentityServer4 AccessTokenValidation 添加到依赖项中

 "IdentityServer4.AccessTokenValidation": "1.0.5"
Run Code Online (Sandbox Code Playgroud)

3)再次清除bin文件夹

4) 构建项目,您将看到 System.Net.Http DLL 丢失。

当您运行该项目时,该项目应该仍然可以工作,但我正在使用需要缺少 DLL 的 nuget 包...

c# dll asp.net-core identityserver4

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

Visual Studio 2017 Chrome JavaScript Debuging - 没有达到突破点

我已经安装了VS2017并尝试了他们添加的新内容.其中一个很好的事情是chrome JS调试,但我似乎无法达到一个突破点.

我创建了一个新的.net核心网站(.net核心1.1)并将以下函数添加到site.js文件中

function test() {
var a = "message";

console.log(a); };
Run Code Online (Sandbox Code Playgroud)

然后我在"var = a ..."行添加一个断点

运行网站 - 它打开一个新的chrome窗口并按照它应该附加到进程.然后我按F12并调用test()但是没有中断点它只是输出到控制台.

控制台窗口中的一件事是以下消息 -

浏览器链接:无法调用返回值回调:TypeError:无法读取null的属性"files"

然而,当我在IE11中尝试它时,我也得到这个消息,它确实触及了IE中的断点

我已将我的chrome更新到最新版本--57.0.2987.98我运行的是Windows 10专业版(完全是最新版本)

site.js代码

Chrome控制台输出

任何想法可能是什么?

更新

我试过以下电脑 -

  1. 我的家用电脑(Windows 10 Pro) - 上面有VS2015和VS2017
  2. 工作PC(Windows 8.1 Pro) - 上面还有VS2015和VS2017
  3. 在我的工作PC - (新版)HyperV VM(Windows 8.1 Pro) - 只需VS 2017就可以了

所有3人都未能达到破发点

什么奇怪的是有人在工作中别人能够使它没有问题的工作.

javascript debugging google-chrome visual-studio-2017

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

c#regex用于数字/数字/字符串模式

我想找到{a number} / { a number } / {a string}模式.我可以开始number / number工作,但是当我添加/ string它时却没有.

我想要找到的例子:

15/00969/FUL
Run Code Online (Sandbox Code Playgroud)

我的正则表达式:

Regex reg = new Regex(@"\d/\d/\w");
Run Code Online (Sandbox Code Playgroud)

c# regex

4
推荐指数
2
解决办法
1873
查看次数

C# Linq Nullable INT 字段包含在 List<int> SQL 翻译中

我有一个表格,其中包含需要经理签字的表格列表,我想做的是将表格列表过滤到他们可以签字的表格。

我得到他们管理的员工列表,然后将其放入员工 ID 列表中。

var staffIds = manager.Staff.Select(x => x.Id).ToList();
Run Code Online (Sandbox Code Playgroud)

然后,我使用员工列表过滤表单列表。

我获取与经过身份验证的组织 ID 匹配的所有表单,然后删除已被拒绝的所有表单,然后检查表单是否与以下项之一匹配 -

该表格尚未“首次签署”,提交表格的工作人员由经过身份验证的工作人员管理。

或者

该表格已“第一次签署”,而不是“第二次签署”,并且经过身份验证的工作人员负责管理第一次签署的工作人员。

var forms = (from item in DbContext.Forms
            where item.OrganisationId == authenticatedOrganisationId
                  && item.RejectStaffId == null
                  && (( item.FirstSignOffStaffId == null && staffIds.Contains(item.StaffId))
                     || (item.FirstSignOffStaffId != null
                         && item.SecondSignOffStaffId == null
                         && staffIds.Contains(item.FirstSignOffStaffId.Value)))
                             select item).ToList();
Run Code Online (Sandbox Code Playgroud)

问题是正在运行的 SQL 不正确。我希望 SQL 看起来像什么 -

SELECT *
FROM [Forms]
WHERE [OrganisationId] = 1
    AND [RejectStaffId] IS NULL
    AND (([FirstSignOffStaffId] IS NULL
        AND [StaffId] IN (1,2,3,4))
        OR ([FirstSignOffStaffId] …
Run Code Online (Sandbox Code Playgroud)

c# sql linq

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

.NET Core Angular 7服务器端渲染

我正在尝试使用dotnet核心创建一个Angular 7 SSR来托管它,默认模板使用angular 5,并且MS有文档来使SSR在其上运行(效果很好),我尝试通过命令行将其升级到angular 7并开始一个新的角度项目并实施SSR之后,但我总是遇到相同的问题,ng build和ng build:SSR在命令行上都可以正常工作,但是当我从VS运行它时,它超时了(我认为引发错误后,与该问题无关):

The thread 0x6608 has exited with code 0 (0x0).
The thread 0x1134 has exited with code 0 (0x0).
The thread 0x54bc has exited with code 0 (0x0).
Run Code Online (Sandbox Code Playgroud)

在此之后(https://github.com/aspnet/Templating/issues/593),我对NG5 SSR(https://go.microsoft.com/fwlink/?linkid=864501)所做的更改是:

startup.cs

options.BootModulePath = $"{spa.Options.SourcePath}/dist-server/main.bundle.js";
Run Code Online (Sandbox Code Playgroud)

options.BootModulePath = $"{spa.Options.SourcePath}/dist-server/main.js";
Run Code Online (Sandbox Code Playgroud)

再次将SSR项目添加到angular.json

 "ssr": {
      "root": "",
      "sourceRoot": "src",
      "projectType": "application",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:server",
          "options": {
            "outputPath": "dist-server",
            "main": "src/main.server.ts",
            "tsConfig": "src/tsconfig.server.json"
          },
          "configurations": {
            "production": {
              "optimization": false,
              "outputHashing": "media", …
Run Code Online (Sandbox Code Playgroud)

.net-core angular-universal ssr angular angular7

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