小编Ima*_*our的帖子

使用VSTS的ASP.NET Core Web API的CI/CD

我使用Visual Studio 2017(Community Edition)创建了一个ASP.NET Core Web API应用程序.我可以使用Visual Studio成功发布到Azure App Service.

我现在想要使用VSTS设置CI/CD.我使用了Visual Studio中的"配置持续交付"选项,该选项在VSTS中创建了一个项目并创建了一个构建定义.我必须在VSTS中基于'ASP.NET Core'模板创建一个新的构建定义,以避免Nuget恢复错误.现在构建解决方案并运行测试,但"发布"任务完成并发出警告 -

##[warning]No web project was found in the repository. Web projects are identified by the presence of either a web.config file or wwwroot folder in the directory.
Run Code Online (Sandbox Code Playgroud)

"发布工件"任务也有类似的警告 -

##[warning]Directory 'd:\a\1\a' is empty. Nothing will be added to build artifact 'drop'.
Run Code Online (Sandbox Code Playgroud)

显然,构建不会产生任何伪影.

我是否需要将任何构建任务添加到默认的ASP.NET Core构建模板中?如何使用VSTS将我的Web API发布到Azure?

azure continuous-deployment .net-core azure-devops asp.net-core

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

asp.net core 2.0 - 值不能为null.参数名称:connectionString

添加迁移时,包管理器控制台中出现以下错误

值不能为空.参数名称:connectionString

这是我的创业公司:

namespace MyProject
{
    public class Startup
    {
        public IConfiguration Configuration { get; set; }
        public Startup(IConfiguration config)
        {
            Configuration = config;
        }

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddDbContextPool<AppDbContext>(options =>
                             options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
            services.AddTransient<IDevRepo, DevRepo>();
            services.AddMvc();
            services.AddMemoryCache();
            services.AddSession();
        }

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            app.UseStatusCodePages();
            app.UseStaticFiles();
            app.UseMvcWithDefaultRoute();
            app.Run(async (context) =>
            {
                await context.Response.WriteAsync(Configuration["Message"]);
            });
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

程序类:

public class Program
{
    public static void Main(string[] args)
    {
        BuildWebHost(args).Run();
    }

    public static IWebHost …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc asp.net-core

28
推荐指数
4
解决办法
4万
查看次数

命令"npm run build - --prod"退出,代码1错误

我正在开发Visual Studio 2017中的Asp.Net Core 2和Angular 5项目.

当我要发布我的项目时,错误' 命令'npm run build - --prod"退出,代码1 '显示在错误列表窗口中.
在ASP.NET Core 2 Angular模板链接中使用Angular CLI 创建了项目,一切都很好,项目正确运行和发布.
过了一会儿,我不知道究竟发生了什么导致项目没有发布.

在npm-debug.log文件中

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'build',
1 verbose cli   '--',
1 verbose cli   '--prod' ]
2 info using npm@3.10.10
3 info using node@v6.10.3
4 verbose stack Error: ENOENT: no such file or directory, open …
Run Code Online (Sandbox Code Playgroud)

npm npm-install asp.net-core angular-cli angular

24
推荐指数
3
解决办法
4万
查看次数

如何在C#中使用自定义消息显示状态代码?

在MVC5中,我使用以下代码返回带有自定义消息的状态代码。它在我的输出中显示提供的消息。

return new HttpStatusCodeResult(403, "Not allowed");
Run Code Online (Sandbox Code Playgroud)

在.net核心框架中,以上方法不适用,因此我尝试了以下方法,但没有找到如何传递自定义消息。

StatusCode(403) 
Run Code Online (Sandbox Code Playgroud)

它显示默认消息为“禁止”

如何在StatusCode中提供自定义消息?还有其他方法可用吗?

c# asp.net-core

10
推荐指数
4
解决办法
6428
查看次数

如何在 google chrome DevTools 中禁用某些文件的缓存

每当我运行项目时,从远程服务器请求许多文件(CSS、图像和 js)并且项目加载缓慢。

为了处理这个问题,我在 Chrome DevTools 的网络选项卡(用于缓存所有文件)中取消选中禁用所有文件的缓存,如下所示:

禁用 chrome 中某些文件的缓存

但是当我需要一些文件(例如 test.js,...)时,问题就开始了,因为它们变化很快,所以没有缓存。

如何在 google chrome DevTools 中禁用某些文件(JS、CSS、...)的缓存?

javascript browser google-chrome developer-tools browser-cache

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

如何使用AngularJS和asp.net MVC 4从views文件夹加载模板

显然,我是angularJS和asp.net MVC4的新手.这是场景:

我有一个简单的MVC4项目,其中包含1个控制器和1个视图(即:home.cshtml).现在我已将HTML文件(即:search.html)添加到名为"Templates"的文件夹中,该文件夹位于项目的主目录中(在views文件夹之外).我想要的是用angularJS加载"search.html"所以我可以将它包含在"home.cshtml"中我该怎么做?这是我到目前为止所得到的:

角度模块:(位于脚本文件夹中)

var bfapp = angular.module("blogfinder", []).config(function ($routeProvider) {
    $routeProvider.when('/search', {
        templateURL: '/Templates/search.html',
        controller: 'SearchController'
    });

    $routeProvider.otherwise({ redirectTo: '/search' });

});

bfapp.controller('SearchController', function () {

});
Run Code Online (Sandbox Code Playgroud)

希望这对你来说很清楚.任何帮助,将不胜感激!谢谢..

javascript asp.net-mvc-4 angularjs

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

Firebase Angular 4根据节点环境进行初始化

我使用Angular CLI构建了我的Angular 4项目.我正在Heroku上部署我的应用程序,我已经为开发和生产环境创建了heroku管道.我有两个firebase数据库开发和生产,我希望我的angular 2应用程序基于heroku配置变量连接到firebase数据库

我在谷歌搜索并发现这个答案很有帮助,因为@ yoni-rabinovitch建议在节点服务器上发送HTTP请求,以便在应用初始化时检查环境.

我是Angular 4和typescript的初学者,我需要实现的是发送HTTP请求并根据响应初始化firebase模块.

app.module.ts

import { environment } from '../environments/environment';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    HttpClientModule,
    FormsModule,
    ReactiveFormsModule,
    BrowserAnimationsModule,
    AngularFireModule.initializeApp(environment.firebase)
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}
Run Code Online (Sandbox Code Playgroud)

任何帮助将受到高度赞赏

heroku node.js firebase typescript angular

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

c#asp.net核心承载错误=“ invalid_token”

有人可以帮我解决这个问题吗?我正在使用Postman测试API

我正在关注有关asp.net核心的教程。

我现在在认证部分。

我不太了解发生错误的原因。

在本教程中,它具有登录名并返回令牌。

这是登录代码。哪个在工作。我知道这是有效的,因为它返回令牌。我也尝试使用无效的登录名。401 Unauthorized当我使用数据库中找到的正确登录凭据时,它将返回但是。它返回令牌

[HttpPost("login")]
public async Task<IActionResult> Login(UserForLoginDto userForLoginDto)
    {
        var userFromRepo = await _repo.Login(userForLoginDto.Username.ToLower(), userForLoginDto.Password);

        if (userFromRepo == null)
            return Unauthorized();

        var claims = new[]
        {
            new Claim(ClaimTypes.NameIdentifier, userFromRepo.Id.ToString()),
            new Claim(ClaimTypes.Name, userFromRepo.Username)
        };

        var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config.GetSection("AppSettings:Token").Value));

        var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature);

        var tokenDescriptor = new SecurityTokenDescriptor
        {
            Subject = new ClaimsIdentity(claims),
            Expires = DateTime.Now.AddDays(1),
            SigningCredentials = creds
        };

        var tokenHandler = new JwtSecurityTokenHandler();

        var token = tokenHandler.CreateToken(tokenDescriptor);

        return Ok(new { …
Run Code Online (Sandbox Code Playgroud)

c# postman asp.net-core

7
推荐指数
3
解决办法
3870
查看次数

Angular4在div中加载外部html页面

我在angular1中有一个应用程序,我使用jquery在我的HTML元素中加载外部页面.这是我的容器元素的html:

<div id="externalContainer" class="text-center">
</div>
Run Code Online (Sandbox Code Playgroud)

我使用以下脚本加载外部页面.

$( "#externalContainer" ).load( myExternalPageLink );
Run Code Online (Sandbox Code Playgroud)

现在这似乎不适用于angular4,专家可以指导我如何在angular4中实现此功能?

typescript ecmascript-6 angular

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

当env变量发生更改时重新加载配置

在Startup.cs文件中我有

public Startup(IHostingEnvironment env)
{
    var builder = new ConfigurationBuilder()
        .SetBasePath(env.ContentRootPath)
        .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)            
        .AddEnvironmentVariables();
    Configuration = builder.Build();
}
Run Code Online (Sandbox Code Playgroud)

有配置的appsettings.json文件.喜欢 :

{
  "Log" : {
     "Type" : "value from appsettings.json"
   }
}
Run Code Online (Sandbox Code Playgroud)

reloadOnChange设置为true,所以,当我更改appsettings.json然后我立即在我的程序中得到一个新的日志类型值.

但是我使用Docker和docker-compose并通过env变量传递设置值.我的docker-compose.override.yml文件是:

version: '3.7'

services:

  myservice:
    environment:
      ASPNETCORE_ENVIRONMENT: Development
      Log__Type: "value from docker-compose"
Run Code Online (Sandbox Code Playgroud)

要运行我使用`docker-compose up.现在我的应用程序的值为"docker-compose的值",用于日志类型.

问题:有没有办法Log__Type在运行时更改env variable()的值(不重新启动docker容器)并在我的应用程序中重新加载配置,就像使用reloadOnChange和appsettings.json一样?

我尝试连接到container(docker exec)并设置env变量的新值

printenv Log__Type  // -> value from docker-compose
export Log__Type=new value 
printenv …
Run Code Online (Sandbox Code Playgroud)

c# docker docker-compose asp.net-core

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