我们有asp.net核心webapi.我们添加Microsoft.AspNetCore.Mvc.Versioning并Swashbuckle拥有昂首阔步的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的?
有人可以在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
当我基于 MVC5 测试我的网络应用程序时,我发现HttpRequestValidationException从GetHttpCode().
我在对服务器请求进行安全测试期间捕获了此异常。MVC 执行请求验证并抛出此异常,我在处理它Application_Error并返回 500 代码,但实际上,如果用户向服务器传递错误输入,我应该返回 400 错误(错误请求)。所以不明白为什么异常有 500 错误。我错在哪里?
我在 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 中作为受邀来宾用户。
我究竟做错了什么 ?