我使用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
添加迁移时,包管理器控制台中出现以下错误
值不能为空.参数名称: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) 我正在开发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) 在MVC5中,我使用以下代码返回带有自定义消息的状态代码。它在我的输出中显示提供的消息。
return new HttpStatusCodeResult(403, "Not allowed");
Run Code Online (Sandbox Code Playgroud)
在.net核心框架中,以上方法不适用,因此我尝试了以下方法,但没有找到如何传递自定义消息。
StatusCode(403)
Run Code Online (Sandbox Code Playgroud)
它显示默认消息为“禁止”
如何在StatusCode中提供自定义消息?还有其他方法可用吗?
每当我运行项目时,从远程服务器请求许多文件(CSS、图像和 js)并且项目加载缓慢。
为了处理这个问题,我在 Chrome DevTools 的网络选项卡(用于缓存所有文件)中取消选中禁用所有文件的缓存,如下所示:
但是当我需要一些文件(例如 test.js,...)时,问题就开始了,因为它们变化很快,所以没有缓存。
如何在 google chrome DevTools 中禁用某些文件(JS、CSS、...)的缓存?
javascript browser google-chrome developer-tools browser-cache
显然,我是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)
希望这对你来说很清楚.任何帮助,将不胜感激!谢谢..
我使用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)
任何帮助将受到高度赞赏
有人可以帮我解决这个问题吗?我正在使用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) 我在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中实现此功能?
在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) asp.net-core ×6
angular ×3
c# ×3
javascript ×2
typescript ×2
.net-core ×1
angular-cli ×1
angularjs ×1
asp.net ×1
asp.net-mvc ×1
azure ×1
azure-devops ×1
browser ×1
docker ×1
ecmascript-6 ×1
firebase ×1
heroku ×1
node.js ×1
npm ×1
npm-install ×1
postman ×1