小编Ale*_*zis的帖子

如何设置Swashbuckle与Microsoft.AspNetCore.Mvc.Versioning

我们有asp.net核心webapi.我们添加Microsoft.AspNetCore.Mvc.VersioningSwashbuckle拥有昂首阔步的UI.我们将控制器指定为:

[ApiVersion("1.0")]
[Route("api/v{version:apiVersion}/[controller]")]
public class ContactController : Controller
{
Run Code Online (Sandbox Code Playgroud)

当我们运行swagger ui时,我们在路由中获取版本作为参数: 在此输入图像描述

如何为路由设置默认"v1"?如果第2版进入舞台,那两个版本的支持是如何支持swagger ui的?

swagger asp.net-core-mvc swashbuckle asp.net-core

20
推荐指数
6
解决办法
5803
查看次数

.NET Core RuntimeIdentifier与TargetFramework

有人可以在csproj文件(VS2017)中解释这两个的目的:

<TargetFramework>netstandard1.6</TargetFramework>
<RuntimeIdentifier>win7</RuntimeIdentifier>
Run Code Online (Sandbox Code Playgroud)

我刚从VS2015迁移,现在无法发布我的web api,因为它看起来我应该只使用一个目标框架.另外我不能指定多个RID.所有这些改变的事情让我感到沮丧.没有什么可以从头开始,应该一遍又一遍地克服一些东西.

我只想在Windows上开发我的web-api,在这里运行xUnit测试,然后部署web-api以在linux(ubuntu)服务器上运行.我应该在csproj的两个参数中加入什么?非常感谢与良好解释的链接.

UPDATE1

我有web api和引用的.net核心库.从VS2015迁移的所有东西.现在我有根项目 <TargetFrameworks>netcoreapp1.1;net461</TargetFrameworks>.当我通过VS2017发布时出现错误:

C:\ Program Files\dotnet\sdk\1.0.3\Sdks\Microsoft.NET.Sdk\buildCrossTargeting\Microsoft.NET.Sdk.targets(31,5):错误:如果未指定"发布"目标,则不支持目标框架.当前项目针对多个框架,请指定已发布应用程序的框架.

但我在发布时指定了目标框架 netcoreapp1.1.好.然后我<PropertyGroup Condition="$(TargetFramework)'=='netcoreapp1.1'"> <RuntimeIdentifier>ubuntu.16.10-x64</RuntimeIdentifier> </PropertyGroup>按照下面的建议更新了我的csproj .但是现在我甚至无法构建app,得到错误:

5> C:\ Program Files(x86)\ Microsoft Visual Studio\2017\Enterprise\MSBuild\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.Sdk.targets(92,5):错误:资产文件'\ obj\project.assets.json'没有'.NETCoreApp,Version = v1.1/ubuntu.16.10-x64'的目标.确保已为TargetFramework ='netcoreapp1.1'和RuntimeIdentifier ='ubuntu.16.10-x64'恢复此项目.

我只想在Windows 8.1/windows7上使用VS2017进行开发并部署到ubuntu 16.10.我做错了什么?

UPDATE2

我有8个项目正在解决.其中3个是xUnit测试.因此我们有5个项目.这5个中的4个是类库,1个是我的web-app.所有4个类库都有:

<TargetFrameworks>netstandard1.6;net461</TargetFrameworks>    
<ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
    <Reference Include="System" />
    <Reference Include="Microsoft.CSharp" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

我的网络应用:

<TargetFrameworks>netcoreapp1.1;net461</TargetFrameworks>
<ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
    <Reference Include="System" />
    <Reference Include="Microsoft.CSharp" />
  </ItemGroup>
Run Code Online (Sandbox Code Playgroud)

如何发布我的网络应用程序?

.net-core asp.net-core asp.net-core-webapi visual-studio-2017 runtime-identifier

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

为什么 HttpRequestValidationException 有 500 http 错误代码而不是 400?

当我基于 MVC5 测试我的网络应用程序时,我发现HttpRequestValidationExceptionGetHttpCode().
我在对服务器请求进行安全测试期间捕获了此异常。MVC 执行请求验证并抛出此异常,我在处理它Application_Error并返回 500 代码,但实际上,如果用户向服务器传递错误输入,我应该返回 400 错误(错误请求)。所以不明白为什么异常有 500 错误。我错在哪里?

c# iis http asp.net-mvc-5

5
推荐指数
1
解决办法
1317
查看次数

来宾用户无法通过 Azure AD 身份验证连接到 Azure SQL

我在 Azure SQL 中创建了数据库并配置了 Azure 身份验证,因此我可以使用我的 Azure AD 帐户通过 SQL Management Studio 连接到数据库。然后我从其他 Azure AD 添加了用户,当我执行时CREATE USER [user@mytenant1.onmicrosoft.com] FROM EXTERNAL PROVIDER出现错误

找不到主体“user@mytenant1.onmicrosoft.com”或不支持此主体类型。

此用户user@mytenant1.onmicrosoft.com在我的 Azure AD 中作为受邀来宾用户。

我究竟做错了什么 ?

azure azure-active-directory azure-sql-database

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