我有一个框架所针对的项目.NET Framework 4.6.1,作为tfs上持续集成过程的一部分,我们创建了一个Build Solution任务,以确保代码正确编译.
现在TFS服务器有最新版本的.Net Famework 4.6.2.在寄存器中,这是框架的Release键的值
在所有其他操作系统版本上:394806 => .NET Framework 4.6.2
但是当构建运行时,它会出现此错误:
Error CS1056: Unexpected character '$'
Run Code Online (Sandbox Code Playgroud)
我不想用字符串插值替换string.Format来解决这个问题,请提供另一种解决方法来解决它.
我是否需要在TFS服务器上安装其他东西?
在 my 上注册实例后IServiceCollection,我需要注册一个IAutomapperProvider依赖于IAssemblyProvider在此方法调用之前注册的
public static IServiceCollection RegisterAutomapperConfiguration(this IServiceCollection container, ServiceLifetime lifeTime = ServiceLifetime.Scoped)
{
//creating the provider to get the IAssemblyProvider for my IAutomapperProvider
var prov = container.BuildServiceProvider();
var assemblyProvider = prov.GetService<IAssemblyProvider>();
container.Register<IAutomapperProvider>(aProv => new AutomapperProvider(assemblyProvider), lifeTime);
var autoMapperProvider = prov.GetService<IAutomapperProvider>();
var mapperConfig = autoMapperProvider.GetMapperConfiguration();
...
}
Run Code Online (Sandbox Code Playgroud)
如果在调用之后container.Register<IAutomapperProvider>(aProv => new AutomapperProvider(assemblyProvider), lifeTime);
我不再调用 BuildServiceProvider,那么我就不会得到我之前注册的 IAutomapperProvider
public static IServiceCollection RegisterAutomapperConfiguration(this IServiceCollection container, ServiceLifetime lifeTime = ServiceLifetime.Scoped)
{
//creating the provider to get the IAssemblyProvider …Run Code Online (Sandbox Code Playgroud) 我有一个 Rest 端点,我们称之为标签
\n\n\n\n它创建传递此 json 格式的标签对象:
\n\n[{\n "TagName" : "IntegerTag",\n "DataType" : 1,\n "IsRequired" : true\n}]\nRun Code Online (Sandbox Code Playgroud)\n\n如果我想维护相同的端点来创建新标签但具有不同的 json 格式。假设我想创建一个 ListTag
\n\n[{\n "TagName" : "ListTag",\n "DataType" : 5,\n "Values" : ["Value1", "Value2", "Value3"]\n "IsRequired" : true\n}]]\nRun Code Online (Sandbox Code Playgroud)\n\n或范围标签
\n\n[{\n "TagName" : "RangeTag",\n "DataType" : 6,\n "Min": 1,\n "Max": 10,\n "IsRequired" : true\n}]\nRun Code Online (Sandbox Code Playgroud)\n\n我在 C# 上在控制器 api 上创建一个新的 Dto 并将其作为不同的参数传递时没有任何问题,因为 C# 允许方法重载:
\n\nvoid CreateTags(TagForCreateDto1 dto){\xe2\x80\xa6}\n\nvoid CreateTags(TagForCreateDto2 dto){\xe2\x80\xa6}\nRun Code Online (Sandbox Code Playgroud)\n\n但是,当我需要在同一个控制器中维护两种带有 POST 请求的方法来创建标签时,mvc 不允许同一路由同时拥有这两种方法。
\n\n …我收到以下错误:
声明的路径参数“imageId”需要在路径或操作级别定义为路径参数
这是我的招摇定义的快照
'/api/v1/images/{unitnumber}/{type}/{imageId}':
delete:
tags:
- Images
summary: 'Summary'
description: "Description"
operationId: DeleteImage
consumes: []
produces:
- application/json
parameters:
- name: unitnumber
in: path
required: true
type: string
- name: type
in: path
required: true
type: string
- name: imageId
in: query
required: false
type: string
responses:
'400':
description: Bad Request
schema:
$ref: '#/definitions/ErrorResponse'
'401':
description: Unauthorized
schema:
type: string
'500':
description: Server Error
schema:
$ref: '#/definitions/ErrorResponse'
Run Code Online (Sandbox Code Playgroud)
我只可以摆脱错误的,如果我走了imageId,改变以path代替query其意向不大
- name: imageId
in: path …Run Code Online (Sandbox Code Playgroud) c# ×3
asp.net-core ×2
rest ×2
c#-5.0 ×1
c#-6.0 ×1
restful-url ×1
swagger ×1
swashbuckle ×1
tfs ×1