小编Rey*_*van的帖子

错误CS0012:类型'TaskAwaiter <>'在未引用的程序集中定义

当我尝试调试Windows Phone 8.1项目时,Locals窗口为空,Watch显示错误this:

this    error CS0012: The type 'TaskAwaiter<>' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Threading.Tasks, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.  
Run Code Online (Sandbox Code Playgroud)

其他一切似乎都运行得很好,没有与此相关的错误/警告,只有在调试时才会发生.而且并非适用于所有项目.

我尝试过在Stack和MDSN上找到的一些修复,但是:

  • 添加<CheckForSystemRuntimeDependency>true</CheckForSystemRuntimeDependency>没有改变任何东西;
  • 调试>选项>常规>使用旧版VB和C#的东西是灰色的.

还有什么我可以尝试的吗?

c# windows-phone-8.1 visual-studio-2015

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

"EF BB BF"在Visual Studio中创建的JSON文件的开头

我在我的一个项目中JSON设置了一堆文件Embedded resource.我正在使用Newtonsoft.Json解析这些文件:

public static string ReadStringFromStream(string streamName)
{
    using (System.IO.Stream stream = new EmbeddedResourceReader().GetType().Assembly.GetManifestResourceStream(streamName))
    {
        byte[] result = new byte[stream.Length];
        stream.Read(result, 0, (int)stream.Length);
        var str = Encoding.UTF8.GetString(result);
        return str;
    }
}
...

var traits = JsonConvert.DeserializeObject<Genre[]>(EmbeddedResourceReader.ReadStringFromStream("LNTCore.Genres.json"));
Genres = traits;
Run Code Online (Sandbox Code Playgroud)

这会在Newtonsoft.Json中引发异常,因为它无法解析文件的开头.在这种情况下,最佳做法是什么?我应该如何处理这种情况?

谢谢!

.net c# json json.net

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

Visual Studio 2017 在哪里存储“开始”选项卡上列出的“最近的项目”?

我想在重新安装 VS 之前备份这些项目。我在哪里可以找到它们?我发现一个答案说这个数据存储在注册表中,但VS17似乎并非如此。

visual-studio windows-10 visual-studio-2017

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

如何在JavaScript中修复"IntelliSense无法确定此表达式的准确完成列表"消息?

我想使用Visual Studio进行一些JS编码,但我不确定如何修复IS以正确获取变量类型.

即使我添加了所有必需的引用,我也会收到消息.将$gameMessage在声明rpg_managers.js文件.

我的猜测是,这是因为在声明时,已经null分配了变量(见这里).如何在不干扰rpg_managers.js文件的情况下修复它?不幸的是,它并不像C#那么容易,因为JS中没有硬编码类型.

我可以轻松解决这个问题,还是应该为js使用其他IDE?因为我认为我曾经看到有人使用其他编辑器并没有发生这个问题.

javascript intellisense visual-studio javascript-intellisense visual-studio-2015

5
推荐指数
0
解决办法
1258
查看次数

C# - 如何从Steam Trading API(编码)获取图标的URL

以下是API为每个项目返回的XML部分:

<message>
    <appid>730</appid>
    <classid>469467368</classid>
    <instanceid>302028390</instanceid>
    <currency>false</currency>
    <background_color/>
    <icon_url>
    -9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpou6ryFA957PfMYTxW09SzlZaS2aX3MOvSlzlQucdy2LqU9NmnjAzl_UJoYmqldYSTIQI_NV_X81bvkufxxcjryPo2vmI
    </icon_url>
</message>
Run Code Online (Sandbox Code Playgroud)

如何解析该字符串并将其转换为URL?

谢谢!

c# steam-web-api

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

GZIPStream 压缩总是返回 10 字节

我正在尝试在我的 UWP 应用程序中压缩一些文本。我创建了这个方法,以便以后更容易:

public static byte[] Compress(this string s)
{
    var b = Encoding.UTF8.GetBytes(s);
    using (MemoryStream ms = new MemoryStream())
    using (GZipStream zipStream = new GZipStream(ms, CompressionMode.Compress))
    {
        zipStream.Write(b, 0, b.Length);
        zipStream.Flush(); //Doesn't seem like Close() is available in UWP, so I changed it to Flush(). Is this the problem?
        return ms.ToArray();
    }
}
Run Code Online (Sandbox Code Playgroud)

但不幸的是,无论输入文本是什么,这总是返回 10 个字节。是不是因为我不使用.Close()GZipStream

c# compression gzipstream uwp

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

如何处理可自定义的热键设置?

我试图让我的应用程序的用户选择为某些功能设置键盘热键。

现在我TextBoxKeyDown事件中使用 a ,如下所示:

Key Hotkey;
private void SetHotKey(object sender, KeyEventArgs e)
{
    (sender as TextBox).Text = e.Key.ToString();
    Hotkey = e.Key;
    e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)

这种方法的问题是我无法设置复杂的快捷方式,例如 [Ctrl]+[F4]。是否有一些 3rd 方控制可以帮助解决这个问题?或者更适合在文本框上订阅的事件?

更新:我已经更改了我的代码,但似乎我仍然做错了什么。

Key Hotkey;
bool lControl = false;
bool lAlt = false;
bool lShift = false;
private void SetHotKey(object sender, KeyEventArgs e)
{
    var k = e.Key;
    if (e.IsDown)
    {
        var tb = sender as TextBox;
        tb.Text = "";
        lControl = Keyboard.IsKeyDown(Key.LeftCtrl);
        lAlt = Keyboard.IsKeyDown(Key.LeftAlt);
        lShift = …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf keyboard-shortcuts

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

如何使用实体框架扩展库执行批量“INSERT IGNORE”

我正在尝试将大量对象插入表中,但我没有任何有效的方法来检查某些记录是否已经存在。每次我用这个:

using Z.EntityFramework.Extensions.Core;
...
await ac.BulkInsertAsync(query, (o) => { o.?? });
Run Code Online (Sandbox Code Playgroud)

它只是在每次找到重复项时停止插入。有没有办法一次运行所有查询而不只是在第一个错误处停止,或者直接应用IGNORE

.net c# entity-framework insert entity-framework-6

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

如何根据 Authorization 标头值授权请求?

我正在尝试使用 ASP.NET Core 提出一个简单的 API,我想根据请求的授权标头限制对某些端点的访问。

在 ASP.NET MVC5 中,我可以通过继承AuthorizationFilterAttribute和覆盖 check 方法来做到这一点,就像这样:

public class BasicAuthorizationAttribute : AuthorizationFilterAttribute
{
    public override void OnAuthorization(HttpActionContext actionContext)
    {
        try
        {
            if (actionContext.Request.Headers.Authorization == null)
            {
                actionContext.Response = actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized);
                return;
            }

            var authorizationToken = Encoding.UTF8.GetString(Convert.FromBase64String(actionContext.Request.Headers.Authorization.Parameter)).Split(':');
            var username = authorizationToken[0];
            var password = authorizationToken[1];
            if (SecurityHelper.Login(username, password))
            {
                Thread.CurrentPrincipal = new GenericPrincipal(new GenericIdentity(username), null);
                actionContext.RequestContext.Principal = Thread.CurrentPrincipal;
            }
            else
            {
                actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized);
                return;
            }
        } catch
        {
            actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized);
            return;
        } …
Run Code Online (Sandbox Code Playgroud)

.net c# authorization asp.net-core

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