小编Ask*_*ein的帖子

WriteBuildMessage未显示

考虑一下这个简单的msbuild脚本(xaml):

<Activity xmlns=[....]>
  <Sequence>
    <mtbwa:WriteBuildMessage Message="Test message"/>
    <mtbwa:WriteBuildWarning Message="Test warning"/>
  </Sequence>
</Activity>
Run Code Online (Sandbox Code Playgroud)

我有一个基于这个脚本的tfs构建定义.当我在tfs中排队新的构建时,警告显示在"查看日志"下,不显示该消息.

你对那个怎么想的?

xaml team-build visual-studio-2010 tfsbuild build-definition

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

在MVVMCross中将对象传递给"导航到"viewmodel的最佳方法是什么?

我有一个ViewModel,它包含一个Team,它有一个Players属性,它是一个Player对象列表.在TeamView中,Team是深度加载的,因此播放器数据已经在内存中.

将给定的选定Player类实例传递给PlayerView的最佳方法是什么?

问题是MVVMCross ViewModel构造函数只能包含当前版本的字符串属性.

我有以下想法:

  1. 传递所选Player的Id并将Team.Players属性作为ViewModel分配给PlayerView.如果所选择的玩家只是PlayerView中的焦点玩家并且PlayerView实际上是"玩家"视图,那么这可以是合理的解决方案,其中用户也可以在其他团队玩家之间滑动.

  2. 有一个像ViewBag服务这样的ASP.Net MVC只能在导航动作之间传递数据,在类似存储的字典中,传递给PlayerView的参数是一个"viewbag:PlayerId123",它是一个指向类实例的特殊键.

  3. 将所选对象序列化为字符串,并将其作为序列化对象传递给构造函数.这是可能的,但我不喜欢这个解决方案.

c# xamarin.ios windows-phone-7 xamarin.android mvvmcross

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

在WPF/XAML中显示本地时区的时间

我的应用程序在几个不同的设备上同步数据.因此,它将所有日期存储在UTC时区中,以考虑可能设置为不同时区的不同设备.

麻烦的是,当我读回日期并显示它们时,它们似乎是不正确的(大多数用户都在英国夏令时,所以他们落后一小时).

<TextBlock Margin="5" Style="{StaticResource SmallTextblockStyle}">
    <Run Text="Last Updated:" />
    <Run Text="{Binding Path=Submitted}" />
</TextBlock>
Run Code Online (Sandbox Code Playgroud)

我是否需要手动覆盖UI线程的set CurrentCulture属性?我知道我必须在Silverlight中这样做.

c# wpf xaml localization

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

我能以某种方式告诉Resharper有关ViewModel的类型吗?

我们在不同的程序集中有Views和ViewModel.视图的程序集具有对VM的引用.(有时我们需要代码).

ViewModel的DataContext是在代码中设置的,而不是在XAML中.因此,VS和Resharper都不能提供帮助,因为intellisense和Resharper也提供了很多警告.

是否有任何针对Resharper的指令我们可以在XAML注释中设置我们打算将View与VM一起使用?

更新:

不错的博客文章作为接受的答案的补充.

c# resharper mvvm

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

Fluent Bindings和UIButton标题

由于我的用户界面通常需要具有本地化字符串,因此我的视图模型提供了视图所使用的所有字符串.这包括按钮上的标题等内容.

在iOS端,按钮标题通过SetTitle方法设置.
为了使视图模型string =>按钮标题映射起作用,MvvmCross会进行一些神奇的绑定转换,以使其正常工作.

假设我的视图中有一个名为Foo的UIButton,我想将其标题映射到View Model中的属性ButtonLabel.知道以下工作以设置这样的绑定:

this.AddBindings(new Dictionary<object, string>() {
      {Foo, "Title ButtonTitle"}
 });
Run Code Online (Sandbox Code Playgroud)

可以使用MvvmCross中的Fluent Binding系统设置相同的绑定吗?我一直在阅读MvvmCross源代码,但我并没有得到绑定代码.

以下内容不起作用(因为实际上按钮没有Title属性 - 它有一个SetTitle方法):

 var set = this.CreateBindingSet<FooView, FooViewModel>();
 set.Bind(Foo).For(b => b.Title).To(vm => vm.ButtonTitle);
 set.Apply();
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以使用Fluent Bindings获得所需的结果?

c# xamarin.ios mvvmcross

11
推荐指数
2
解决办法
4469
查看次数

在HangFire中设置"按需"唯一作业

在Hangfire中,我已经成功设置了定期作业,并且如果我愿意,我可以手动触发,这要归功于Web UI及其"触发器"按钮.

RecurringJob.AddOrUpdate(..);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是我愿意设置一个永远不会自动解雇的工作.仅限WebUi的需求.将其视为一组仅在需要时触发的维护任务.手动.

我想在await状态中添加一个非重新安排的Job,但是无法(听起来不对).

Hangfire可以"仅按需"工作吗?

c# hangfire

11
推荐指数
4
解决办法
4636
查看次数

EntityFramework核心数据库首先接近多个表名

我们有现有的具有多个表名的数据库.例如Documents.我想使用新的EF CoreAsp.Net Core基于这篇文章与数据库的第一种方法在这里

我运行以下命令从现有数据库创建模型

Scaffold-DbContext"Server =(local); Database = MyDatabase; Trusted_Connection = True;"Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

但是,当我运行scaffolding命令时,它会创建具有多个名称的模型.例如,Documents表转换为模型名称Documents.

如何更改它以便它可以使用模型的单一命名约定?(我不能改变数据库中的表名)

请注意,我已经阅读了与相同问题相关的SO上的一些帖子,但他们主要关注代码第一种方法.我正在使用数据库第一种方法.

c# entity-framework-core asp.net-core

11
推荐指数
3
解决办法
6849
查看次数

System.Text.Json API 是否有类似 IContractResolver 的东西

在新的System.Text.Json中;命名空间是否有类似 IContractResolver 的东西我正在尝试将我的项目从 Newtonsoft 迁移出去。

这是我试图移动的课程之一:

public class SelectiveSerializer : DefaultContractResolver
{
private readonly string[] fields;

public SelectiveSerializer(string fields)
{
  var fieldColl = fields.Split(',');
  this.fields = fieldColl
      .Select(f => f.ToLower().Trim())
      .ToArray();
}

protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
{
  var property = base.CreateProperty(member, memberSerialization);
  property.ShouldSerialize = o => fields.Contains(member.Name.ToLower());

  return property;
}
}
Run Code Online (Sandbox Code Playgroud)

c# serialization .net-core asp.net-core system.text.json

11
推荐指数
2
解决办法
6157
查看次数

如何在存储库类中使用 IAsyncEnumerable

我正在使用 .net core 3.1 和 EF core 创建一个小型 API。
我尝试在我的存储库类中使用 IAsyncEnumerable 但出现错误。
我知道错误是有效的,但有人可以告诉我如何在存储库类中使用 IAsyncEnumerable 吗?

状态库.cs

    public class StateRepository : IStateRepository
    {
        public StateRepository(AssetDbContext dbContext)
            : base(dbContext)
        {

        }

        public async Task<State> GetStateByIdAsync(Guid id)
            => await _dbContext.States
                .Include(s => s.Country)
                .FirstOrDefaultAsync(s => s.StateId == id);

        public async IAsyncEnumerable<State> GetStates()
        {
            // Error says:
            //cannot return a value from iterator. 
            //Use the yield return statement to return a value, or yield break to end the iteration
             return await _dbContext.States
                       .Include(s => …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core-webapi c#-8.0 asp.net-core-3.1 ef-core-3.1

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

如何使用angular修改asp.net核心WebAPI的asp.net身份UI

几天前我开始学习 .net core,作为开始,我创建了一个带有内置 angular 8 模板的 .netcore 项目。

它有几个用 angular 构建的页面,比如计数器和获取数据等,但所有与身份相关的页面(登录、注册等)都是来自后端的纯 HTML。所以“我主要关注的是在该页面中进行一些 UI 更改”。

我发现身份已添加到类库中,因此在后端代码中不可见。为了对其进行更改,我需要首先通过脚手架重新生成将其添加到代码中。这将覆盖以前的库代码,并且可以根据需要进行修改。

所以我选择添加新的脚手架项目 --> 身份。并在第一次尝试中选择“覆盖所有文件”,仅在第二次尝试中选择“帐户\登录”和“帐户\注册”,并为 dbcontext 选择 applicationdbcontext。但不幸的是,它们都不适合我。

当我尝试构建代码时出现此错误

Error   CS0246  The type or namespace name 'IWebHostEnvironment' could not be found (are you missing a using directive or an assembly reference?)   

C:\Users\MyUserName\source\repos\MyProjectName\obj\Debug\netcoreapp3.0\Razor\Pages\Shared\_Layout.cshtml.g.cs   448
Run Code Online (Sandbox Code Playgroud)

我真的不知道 .g.cs 扩展名是什么,该页面上没有 import 语句和一些我以前从未见过的奇怪代码。页面本身也没有显示任何错误/红色标记。

我基本上想在这里实现两件事,

1) 完全使用 .net 核心应用程序作为 API,我想为所有与登录相关的东西在 angular 本身中构建 UI,而不是从后端获取 HTML。

2)在用户登录表单中添加更多字段。并且由于它是代码优先的方法,因此最终会在用户 DBSet 中进行更改(在这种情况下我不知道该怎么做)。

我没有添加任何代码示例,因为它是一种直接的问题/问题。要重现该问题,只需在 .net core 3.0 中创建一个项目并采用 angular 8 模板。现在尝试在登录或注册页面上进行任何与 UI 相关的更改。

c# identityserver4 asp.net-core-webapi asp.net-core-3.0 angular8

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