小编mak*_*iuk的帖子

[Assembly1]和[netstandard 2.0程序集]中都存在[Type]类型

我无法使Microsoft.EntityFrameworkCore 2.0与NETStandard.Library 2.0一起使用

错误CS0433类型'AttributeUsageAttribute'在'System.Runtime,Version = 4.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'和'netstandard,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = cc7b13ffcd2ddd51'中都存在。架构D:\ Contrived \ Contrived \ Framework \ Contrived.Model.Schema \ Attributes \ EntityColumnAttribute.cs

我的.csproj:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup Label="Globals">
    <SccProjectName>SAK</SccProjectName>
    <SccProvider>SAK</SccProvider>
    <SccAuxPath>SAK</SccAuxPath>
    <SccLocalPath>SAK</SccLocalPath>
  </PropertyGroup>

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="2.0.0" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Update="NETStandard.Library" Version="2.0.0" />
  </ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

如果我创建一个新的解决方案和一个netstandard 2.0库,然后添加EntityFrameworkCore 2.0,也会发生这种情况

错误CS1703已导入具有相同标识的多个程序集:'D:\ Users \ maksymiuk_a.nuget \ packages \ netstandard.library \ 2.0.0 \ build \ netstandard2.0 \ ref \ System.Threading.Tasks.dll'和'D :\ Users \ maksymiuk_a.nuget \ packages …

.net c# entity-framework-core .net-standard-2.0

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

为什么 Blazor 不会路由到 razor 库中的组件?

我有一个 Blazor 应用程序和一个 Razor 库。

在我的 Razor 库中,我有一个组件,AccountNavigation.razor我可以将它与 html 语法一起使用并且可以正常工作,如下所示:<AccountNavigation />

问题在于另一个组件,Login.razor在同一个库中,@page "/login"写在它的顶部。没有链接工作,href="/login"或者即使我手动尝试路线它也不起作用。如果我转到Login.razorBlazor 应用程序项目,它将起作用。

我的 Razor 库项目如下:

<Project Sdk="Microsoft.NET.Sdk.Razor">

  <PropertyGroup Label="Globals">
    <SccProjectName>SAK</SccProjectName>
    <SccProvider>SAK</SccProvider>
    <SccAuxPath>SAK</SccAuxPath>
    <SccLocalPath>SAK</SccLocalPath>
  </PropertyGroup>

  <PropertyGroup>
    <TargetFramework>netstandard2.1</TargetFramework>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    <Version>1.0.3.5</Version>
    <LangVersion>8.0</LangVersion>
    <RazorLangVersion>3.0</RazorLangVersion>
  </PropertyGroup>


  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Components" Version="3.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="3.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.RazorPages" Version="2.2.5" />
  </ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

我也试过针对 net core 3.0 和同样的问题。我的 Razor 库中只有 3 个文件。工作AccountNavigation.razor, Login.razor, 和_Imports.razor。有什么我想念的吗?

c# razor blazor blazor-server-side .net-core-3.0

5
推荐指数
3
解决办法
3027
查看次数

C#8.0是否支持IAsyncEnumerable?

IAsyncEnumerable除了“ What's New c#8.0”文章中的一些提及之外,真的很难找到关于的任何信息。尝试在启用了netstandard 2.0和C#8的Visual Studio 2019中使用它,它的确可以识别该类,但是在构建时出现了很多错误:

在此处输入图片说明

c# .net-standard-2.0

4
推荐指数
3
解决办法
458
查看次数

为什么我的RegEx根据平台获得两种不同的结果?

我有一个RegEx模式:

@"((?(?!\.\d)\D)*)(\d*\.\d+|\d+)*((?(?<=\d).*))"
Run Code Online (Sandbox Code Playgroud)

旨在将字符串分成3个部分.如果我有字符串

"asdf1234asdf"
"asdf .1234asdf"
"asdf. .1234asdf"
"asdf 12.34asdf"
"asdf123.4 asdf"
"asdf.1234asdf"
Run Code Online (Sandbox Code Playgroud)

我需要:

1. "asdf"     2. "1234"    3. "asdf"
1. "asdf "    2. ".1234"   3. "asdf"
1. "asdf. "   2. ".1234"   3. "asdf"
1. "asdf "    2. "12.34"   3. "asdf"
1. "asdf"     2. "123.4"   3. " asdf"
1. "asdf"     2. ".1234"   3. "asdf"
Run Code Online (Sandbox Code Playgroud)

但根据我使用的平台,结果会发生变化.

Regex101.com给了我需要的结果

虽然在Regexstorm.com中我必须将正则表达式中的if语句修改为非捕获组才能使其工作

即:我需要改变它

@"((?(?!\.\d)\D)*)(\d*\.\d+|\d+)*((?(?<=\d).*))"
Run Code Online (Sandbox Code Playgroud)

@"((?:(?!\.\d)\D)*)(\d*\.\d+|\d+)*((?(?<=\d).*))"
Run Code Online (Sandbox Code Playgroud)

让它工作 .NET

那么为什么我需要摆脱'if'块?不.NET,如果块不支持?

.net c# regex

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

将类型作为参数传递给方法

我有一个叫做的课RootObject:

public class RootObject
{
    public string Name { get; set; }
    public int Age { get; set; }
    public int Address { get; set; }
}

public void getdata()
{
    WebRequest request = WebRequest.Create("http://addresstojson.com/json.json");
    WebResponse response = await request.GetResponseAsync();

    using (var stream = new StreamReader(response.GetResponseStream()))
    {
       json = JsonConvert.DeserializeObject<RootObject>(stream.ReadToEnd());
    }
}
Run Code Online (Sandbox Code Playgroud)

在方法的最后一个语句中getdata(),传递类型:

JsonConvert.DeserializeObject</*here*/>(Stream.ReadToEnd())
Run Code Online (Sandbox Code Playgroud)

我想将类型作为参数传递给getdata(RootObject)方法.

有没有办法在C#中使用泛型来做到这一点?

c#

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