小编tha*_*guy的帖子

无法加载文件或程序集 System.Runtime.CompilerServices.Unsafe

我使用 C# 创建了一个 Visual Studio(社区 2019)项目,使用ServiceStack.Redis. 由于它是 C#,我使用 Windows 10(Windows 有一个 Redis 版本,但它真的很旧,据我所知,它是非官方的,所以我担心这可能是问题所在)。这是我的代码的摘录:

public class PeopleStorage: IDisposable
{
    public PeopleStorage()
    {
        redisManager = new RedisManagerPool("localhost");
        redis = (RedisClient)redisManager.GetClient();
        facts = (RedisTypedClient<List<Fact>>)redis.As<List<Fact>>();
    }

    public List<Fact> GetFacts(int id)
    {
        string sid = id.ToString();
        if (facts.ContainsKey(sid))
            return facts[sid];
        return accessor.GetFacts(id);
    }

    private RedisTypedClient<List<Fact>> facts;
    private RedisClient redis;
    private RedisManagerPool redisManager;
}
Run Code Online (Sandbox Code Playgroud)

在尝试连接到 Redis 时return facts[sid];,出现异常:

System.IO.FileLoadException:“无法加载文件或程序集“System.Runtime.CompilerServices.Unsafe,Version=4.0.4.1,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。找到的程序集的清单定义不匹配程序集参考。(来自 HRESULT 的异常:0x80131040)”

(可能是我翻译的不准确)

我尝试更新所有包,从ServiceStack包开始,以System.Runtime.CompilerServices.Unsafe自身结束。而且,你不能在 NuGet 中选择 4.0.4.1 版本,最接近的是 4.0.0,而相关的是 …

c# visual-studio redis nuget servicestack

18
推荐指数
6
解决办法
3万
查看次数

我的 Google 云端点 API 在 api 资源管理器中不可见

我对谷歌应用引擎和端点非常陌生,一直在编写基本的端点功能并部署到云中。我成功部署了一个 HelloWorld 端点并通过 API Explorer 对其进行了测试:http://localhost:8080/_ah/api/explorer

但是现在当我创建了一个新的端点 API 并遵循相同的步骤(即在 appengine-web.xml 中使用新的 APP 引擎应用程序名称进行部署,以 appengine:update 运行)时,api 资源管理器仍然显示我的 HelloWorld 端点而不是我的新 API“你的第一端点”。

我已经搜索并试图找到无济于事的答案 - 如果这是我的一个非常基本和愚蠢的问题(我确定是),我很抱歉,但如果有人能指出我正确的方向,我将不胜感激我应该做什么。

我的API

    package com.example.zinglife;

    import com.google.api.server.spi.config.Api;
    import com.google.api.server.spi.config.ApiMethod;
    import com.google.api.server.spi.config.ApiMethod.HttpMethod;
    import com.google.api.server.spi.response.NotFoundException;
    import com.google.appengine.api.datastore.Key;
    import com.google.appengine.api.datastore.KeyFactory;


    /**
    * 
    * Defines endpoint functions APIs.
    */
    @Api(name = "yourfirstapi", version = "v1",
    scopes = {Constants.EMAIL_SCOPE },
           clientIds = {Constants.API_EXPLORER_CLIENT_ID},
           description = "API for hello world endpoints.")

    public class YourFirstAPI
    {

    
    @ApiMethod(name = "storeUserModel")

       private User storeUserModel(User user) throws  NotFoundException
     {
         
          String …
Run Code Online (Sandbox Code Playgroud)

google-app-engine google-cloud-endpoints

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

有没有办法使用 VS Code 将自动化测试与 Azure DevOps 中的测试用例关联起来?

我一直在寻找 VS Code 的扩展,以允许 Visual Studio IDE 提供的“关联测试用例”功能,但我没有运气。有没有提供此功能的扩展?

视觉工作室步骤:

  1. 打开测试资源管理器
  2. 右键单击测试用例
  3. 单击关联到测试用例

截屏:

VS 关联到测试用例

visual-studio-code azure-devops

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

如何为属性更改通知编写更少的样板?

我有一个类似 MVVM 的应用程序,最终得到的模型包含太多属性更改通知。具体来说,我有时会错过一些通知,因为通知太多。

例如,我最终得到这样的属性:

public string CustomEmail {
    get => customEmail;
    set
    {
        customEmail = value;
        OnChanged("CustomEmail");
        OnChanged("IsSendAllowed");
        OnChanged("IsNotFaxEmail");
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来组织它?例如,有没有办法标记属性[DependsOn("CustomEmail")] bool IsNotFaxEmail { ... }

或者,如果大多数属性都用于绑定,我应该全力使用转换器吗?我不想最终得到像{Binding CustomEmail, Converter=EmailIsFaxToElementVisibilityConverter}.

我是否缺少一些更简单的解决方案?

c# wpf mvvm

5
推荐指数
2
解决办法
648
查看次数

如何更改 WPF 复选框勾号的颜色?

我想将 WPF 中的勾号颜色CheckBox从黑色更改为白色。我尝试在CheckBox声明中这样做:

<CheckBox Background="black" Foreground="White" BorderBrush="#262626"/>
Run Code Online (Sandbox Code Playgroud)

背景和边框成功更改,但刻度线本身没有更改。

c# wpf xaml controltemplate

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

计算整数数组中的重复元素

我有一个整数数组crr_array,我想计算重复出现的元素.首先,我读取数组的大小,并使用从控制台读取的数字对其进行初始化.在数组中new_array,我存储了重复的元素.该数组times存储元素的连续出现次数.然后,我尝试搜索重复序列并以特定格式打印它们.但是,它不起作用.

// Get integer array size
Scanner input = new Scanner(System.in);
System.out.println("Enter array size: ");
int size = input.nextInt();

int[] crr_array = new int[size];
int[] new_array= new int[size];
int[] times = new int[size];

// Read integers from the console
System.out.println("Enter array elements: ");
for (int i = 0; i < crr_array.length; i++) {
    crr_array[i] = input.nextInt();
    times[i] = 1;
}

// Search for repeated elements
for (int j = 0; j < crr_array.length; j++) …
Run Code Online (Sandbox Code Playgroud)

java

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

使用Hibernate验证日期

我们拥有现有的酒店管理系统。我被要求在系统的“创建住宿”功能中添加日期验证。该对话框如下所示:

在此处输入图片说明

如下面的代码所示,“结束日期”已经过验证。@FutureHibernate中的注释可确保日期在将来。

@NotNull
@Future
@DateTimeFormat(pattern = "dd/MM/yyyy")
@Temporal(TemporalType.DATE)
private Date endDate;
Run Code Online (Sandbox Code Playgroud)

编辑

我被要求在“开始日期”中添加验证。仅允许现在或将来的日期。我尝试使用@Present批注,但我想没有这种东西。不幸的是,@Future不接受今天的日期。我对这种事情是陌生的。所以我希望有人能帮助我。谢谢。

java validation annotations hibernate date

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

发布 nuget 包,其中包含可执行文件,nuget.org

我是一个好人,希望为nuget.org做出贡献

我有一个无法使用 .NET 解决的任务(转换.pdf为.NET .html,但这不是要点,它可能是任何其他),但使用 Python 很容易处理。所以我编写了一个.py脚本,将其转换为单文件可执行文件,在 .NET 中编写了一些包装,然后它就可以工作了。

包装器基本上只是将可执行文件卸载到硬盘驱动器上的某个位置,通过命令行参数调用它并获取响应。

  • 现在我该如何发布这个带有可执行文件的 nuget 呢?
  • 这还被允许吗?
  • 这个想法是否太糟糕了以至于我放弃了整个事情?
  • 我是否以某种方式明确警告用户该库包含一个可执行文件,该可执行文件将被复制到他们的硬盘驱动器上?
  • 提供 .py 脚本代码的链接(在哪里?)?
  • 以及对这段代码实际上是可执行文件内部的内容进行某种验证(如何?)?

.net executable publish package nuget

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

尝试打开带有超链接的网站时 Process.Start 引发异常

此代码System.ComponentModel.Win32Exception在我的RequestNavigate事件处理程序中抛出一个。

Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri));
e.Handled = true;
Run Code Online (Sandbox Code Playgroud)

Visual Studio 中的异常

这是我的 XAML 代码:

<TextBlock Margin="0 0 40 40" FontSize="13" HorizontalAlignment="Right" VerticalAlignment="Bottom">
   <Hyperlink Foreground="Snow" RequestNavigate="Hyperlink_RequestNavigate" NavigateUri="http://www.google.com">Bizning jamoa bilan tanishishni</Hyperlink>
</TextBlock>
Run Code Online (Sandbox Code Playgroud)

c# wpf

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

.NET 标准库 - 无法加载文件或程序集“System.Runtime.Caching”

我使用最新的 .NET Standard 版本构建了一个库。一切正常。

当我添加 NuGet 包时出现问题System.Runtime.Caching。我尝试添加从 4.5 到 4.7 的所有稳定版本。当尝试使用此包中的类时,任何版本都会出现以下错误。

无法加载文件或程序集“System.Runtime.Caching,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”。该系统找不到指定的文件。”

c# dll nuget .net-standard

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