小编Mig*_*ura的帖子

使用 MSBuild 任务将整个文件夹复制到 wwwroot

我有以下内容:

<Target Name="OnBuild" BeforeTargets="Build" Condition="'$(Configuration)' == 'Debug'">
  <Exec WorkingDirectory="app" Command="npm install" />
  <Exec WorkingDirectory="app" Command="npm run build" />
</Target>
Run Code Online (Sandbox Code Playgroud)

命令“npm run build”创建文件夹“client/dist”。

如何使用 MSBuild 任务将文件夹及其内容复制到“wwwroot”?

我正在使用 ASP.NET Core 2.2 ...

Webpack.config

const path = require('path');

const environment = process.env.NODE_ENV;

const CopyPlugin = require('copy-webpack-plugin');
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin");
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

module.exports = {

  plugins: [
    new MiniCssExtractPlugin({
      filename: 'main.min.css',
    }),
    new CopyPlugin([
      { from: './assets', to: './assets' }
    ])
  ],

  resolve: {
    extensions: ['.js'],
  }, …
Run Code Online (Sandbox Code Playgroud)

asp.net-core asp.net-core-2.2

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

未找到框架“Microsoft.AspNetCore.App”,版本“3.1.0”

在 Mac 上,我安装了 Net Core:

.NET SDKs installed:
  5.0.100 [/usr/local/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 5.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 5.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Run Code Online (Sandbox Code Playgroud)

我能够运行 Net Core 5.0 项目,但是当我尝试运行 NET Core 3.1 项目时,我得到:

It was not possible to find any compatible framework version
The framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found.
Run Code Online (Sandbox Code Playgroud)

我需要安装 SKD 3.1 吗?

.net-core asp.net-core asp.net-core-5.0

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

从条件列表中取N个项目

我有以下内容:

IDictionary<QuestionDuration, Int32> rules = _service.GetRules(); 

List<Question> questions = _service.GetQuestions();

public class Question {
  public QuestionDuration Duration { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

字典值(Int32)是我需要从具有该特定持续时间的列表中获取的问题的数量...所以,如果我有字典:

{{QuestionDuration.M2​​,5},{QuestionDuration.M4,3},{QuestionDuration.M8,0},...

所以我需要在原始列表中创建一个列表,包括2分钟的5个问题,3分钟的4个问题,8分钟的0个问题等等...

我试图分组并使用lambda表达式,但我无法...

我怎样才能做到这一点?

谢谢,

米格尔

c# list

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

在Linq中列出与组相关的词典

我有以下变量:

List<Tuple<DataType, String, List<String>>> items;
Run Code Online (Sandbox Code Playgroud)

我需要创建一个Tuple的Item1 Dictionary<DataType, String[]>所在的DataType位置,以及String[]所有Tuple的项目2 DataType.

所以我尝试过:

Dictionary<DataType, String[]> d = items.GroupBy(x => x.Item1)
    .ToDictionary(x => x.Key, x => x.Value);
Run Code Online (Sandbox Code Playgroud)

这不编译.

我怎么解决这个问题?

c# linq

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

Url.RouteUrl没有在MVC5中获取API路由

我使用其模板创建了一个MVC 5站点,并添加了以下API控制器:

namespace MvcSite.Controllers {

  public class TestController : ApiController {

    [Route("test/send"), HttpGet]
    public String Send() {    
      return "SENT";
    }

  } // TestController
} // MvcSite.Controllers
Run Code Online (Sandbox Code Playgroud)

当我访问"/ test/send"时,我按预期收到字符串"SENT"...

在Razor视图或Controller中我需要获取发送操作的URL,所以我尝试了:

var url = Url.RouteUrl(new { controller = "Test", action = "Send", HttpRoute = true });
Run Code Online (Sandbox Code Playgroud)

但是url是null ...我不知道为什么......

API路由工作正常,因此它位于路由表中...

我错过了什么?

谢谢你,米格尔

asp.net-mvc asp.net-web-api

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

生成短随机Uniquer促销代码

在C#应用程序上,我需要创建UNIQUE促销代码.

促销代码将存储在SQL表(SQL Server 2012)中.

最初我虽然是GUIDS,但他们很想给用户.

我正在考虑一个6个字母数字代码,产生52 521 875个独特的组合.

你怎么看?

但是如何生成代码以便它是独一无二的?我正在考虑:

  1. 随机使用;

  2. 使用当前日期时间的刻度

  3. 预生成数据库中的所有代码并随机选择...这种方法存在占用两个空间的问题.

生成随机唯一代码的好方法是什么?

更新1

对于1中的方法,我提出了以下C#代码:

  Random random = new Random();

  Int32 count = 20;
  Int32 length = 5;

  List<String> codes = new List<String>();

  Char[] keys = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".ToCharArray();

  while (codes.Count < count) {

    var code = Enumerable.Range(1, length)
      .Select(k => keys[random.Next(0, keys.Length - 1)])  // Generate random char
      .Aggregate("", (e, c) => e + c); // Join into a string              

    codes.Add(code);

  }
Run Code Online (Sandbox Code Playgroud)

更新2

  String source = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

  while (codes.Count < …
Run Code Online (Sandbox Code Playgroud)

c# sql

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

按日期排序列表,将未来分为过去日期

我使用Linq to Entities从数据库获取记录,如下所示:

context.Orders.OrderBy(x => x.Schedule)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我按DateTime Schedule排序......

我想仍然按照日期时间表排序,但首先我想展示哪些日期是今天广告之后的日期.

我怎样才能做到这一点?

c# linq entity-framework

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

如何从MVC控制器访问Web Api?

我创建了一个Web API 2项目,它将是连接到数据库的服务层.

现在我有两个不同的MVC 5.2应用程序:一个网站及其CMS ......

在MVC 5.2控制器中,我想访问API以获取帖子,创建帖子等.

  1. 如何从MVC控制器访问api?

  2. 我可以调用API并发送带有一个图像的帖子进行保存吗?

    我怎样才能做到这一点?我应该以哪种格式发送PostModel中集成的图像?

  3. 如何确保只有我的两个MVC应用程序被授权使用API​​?

    所有应用程序都在同一台服务器上.

asp.net-mvc asp.net-web-api

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

将函数命名为"delete"... Delete是保留字

我有以下功能:

function messageService($http) {

  return { 

    get: function (query) {
      return $http.get("/api/v1/messages", { params: query });
    },

    delete: function (id) {
      return $http.delete("/api/v1/messages/" + id);
    }

  }

}
Run Code Online (Sandbox Code Playgroud)

但删除是一个javascript保留函数,当我调用此函数时,我收到一个错误.有没有办法在不更改删除名称的情况下避免这种情况?

javascript

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

使用默认值在C#6中检查null

我正在使用C#6,我有以下内容:

public class Information {
  public String[] Keywords { get; set; }
}

Information information = new Information {
  Keywords = new String[] { "A", "B" };
}

String keywords = String.Join(",", information?.Keywords ?? String.Empty);
Run Code Online (Sandbox Code Playgroud)

我正在检查信息是否为空(在我的真实代码中它可以是).如果它是加入String.Empty,因为String.Join在尝试加入null时会出错.如果它不为null,则只需加入信息.关键词.

但是,我收到此错误:

Operator '??' cannot be applied to operands of type 'string[]' and 'string'
Run Code Online (Sandbox Code Playgroud)

我正在寻找几个博客,据说这会起作用.

我错过了什么吗?

检查并将字符串连接在一行中的最佳替代方法是什么?

c# c#-6.0

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