我在 Angular7 中遇到了 NGX-Translate 的问题。
我正在尝试翻译带有参数的短语。如果参数是硬编码的,它可以工作,但如果参数是一个变量,它就不起作用。
app.component.ts
import { Component, OnInit } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
hardcoded: string;
fromVariable: string;
days: '30';
constructor(private translate: TranslateService) { }
ngOnInit() {
this.translate.setDefaultLang('en');
this.translate.use('en');
// Value Hardcoded - THIS WORKS
this.translate.get('UPCOMING_RENEWALS', { output: '30' }).subscribe((s: string) => {
this.hardcoded = s;
});
// value from variable - THIS DOESN'T
this.translate.get('UPCOMING_RENEWALS', { output: this.days }).subscribe((s: string) …Run Code Online (Sandbox Code Playgroud) 我在使用 AzureDevops 构建项目时遇到问题。它是 DotNet6,它使 .Net Core 恢复失败并出现错误:错误 NU1301:无法加载源的服务索引。这是一个具有两个依赖项的库项目,均来自 NuGet:
该项目在 VS2022 中完美构建。
有人有什么想法吗?
这些是我的类型:
[<DataContract>]
type AreaCodeSingleResponse =
{ [<field:DataMember(Name = "id")>]
Id : string
[<field:DataMember(Name = "code")>]
Code : string
[<field:DataMember(Name = "name")>]
Name : string }
[<DataContract>]
type AreaCodeListResponse =
{
[<field:DataMember(Name = "areacode_list")>]
AreaCodeList : List<AreaCodeSingleResponse> }
Run Code Online (Sandbox Code Playgroud)
这是数据示例:
{
"areacode_list": [
{
"id": "00447",
"code": "07",
"name": "UK Mobile",
"order_column": "_00447"
},
{
"id": "0044113",
"code": "0113",
"name": "Leeds",
"order_column": "0044113"
}
]
}
Run Code Online (Sandbox Code Playgroud)
这是反序列化代码,这里调用的是传入类型AreaCodeListResponse:
member __.ReturnDataToType<'T>() =
__.ReturnData
|> JsonConvert.DeserializeObject<'T>
Run Code Online (Sandbox Code Playgroud)
在我升级到 DotNet6 之前,这工作正常并返回数据列表。之后,它失败并返回一个空列表。没有抛出任何错误,但列表为空。
对于我使用类和其他类型进行反序列化的所有其他调用来说,这都是失败的。
有什么变化需要我注意吗?我不是 F# 专家,只是在处理一些遗留代码时才开始使用它。
我正在尝试建立一个新项目,并且我添加了一个新类MembershipService,它需要在它的构造函数中传递HttpContext.
在之前的项目中,我使用了代码
private static void RegisterServices(IKernel kernel)
{
kernel.Bind<IMembershipService>()
.To<MembershipService>()
.InRequestScope()
.WithConstructorArgument("context", HttpContext.Current);
....
}
Run Code Online (Sandbox Code Playgroud)
然而,在新项目中,我正在使用Ninject Modules,在对StackOverflow和Google进行一些搜索之后,我提出了以下代码:public class ServiceHandlerModule:NinjectModule {
public override void Load()
{
Bind<IMembershipService>()
.To<MembershipService>()
.WithConstructorArgument("context", ninjectContext=> HttpContext.Current);
this.Kernel.Bind(x =>
{
x.FromAssemblyContaining(typeof(NinjectWebCommon))
.SelectAllClasses()
.Where(t => t != typeof(MembershipService))
.BindDefaultInterface();
});
this.Kernel.Bind(x =>
{
x.FromAssemblyContaining<BrandServiceHandler>()
.SelectAllClasses()
.Where(t => t != typeof(MembershipService))
.BindDefaultInterface();
});
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:Ninject.ActivationException:激活字符串时出错没有匹配的绑定可用,并且该类型不可自我绑定.激活路径:
5)将依赖字符串注入到HttpRequest类型的构造函数的参数filename中
4)将依赖关系HttpRequest注入到HttpContext类型的构造函数的参数请求中
3)将依赖关系HttpContext注入到MembershipService类型的构造函数的参数httpContext中
2)将依赖关系IMembershipService注入到HomeController类型的构造函数的参数membershipService中
1)请求HomeController
谁能指出我哪里出错了?
谢谢,约翰
.net-6.0 ×1
.net-core ×1
angular ×1
asp.net-mvc ×1
azure-devops ×1
c# ×1
f# ×1
httpcontext ×1
json ×1
json.net ×1
ninject ×1
nuget ×1