小编Ale*_*idt的帖子

ReSharper 9"文件布局/类型成员布局"没有区域

我从R#8切换到R#9.当我导入我的类型成员布局然后选择ReSharper - >工具 - >清理代码...它将应用排序但没有区域可见.它只是重新排序项目.那么,我怎样才能让我的地区回归?

c# resharper

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

自Visual Studio 2017更新到15.7.4版以来,AAD身份验证无法正常工作

我在Windows 10上安装了Visual Studio 2017 Enterprise 15.7.4.操作系统已连接到我的AAD Work/School帐户.我的问题发生在5台不同的机器上,并开始出现在今天.

当我开始VS我登录(右上角)并且每件事都很好.订阅列表也显示在Cloud Explorer中.

我现在打开一个ASP.NET Core Web项目,并希望将其发布到Azure中的现有Web App.一旦我进入可以定义目标订阅的屏幕,VS就会开始重新进行身份验证,最终显示弹出对话框,查询我的凭据.此对话框有时会连续出现几次.

我可以在没有显示任何错误的情况下进行身份验证,现在VS(帐户设置,云资源管理器,服务器资源管理器,发布对话框)中的任何位置都显示"重新输入您的凭据"链接,并且所有订阅现在都无法访问.

从现在开始,现在有办法在VS内部对AAD进行身份验证,而不再获得"重新进入的东西".

我已经尝试过的:

  • 去了帐户设置并从VS中删除了所有现有帐户 - >重新启动VS并再次执行注册.
  • 关闭所有VS实例 - >删除文件系统文件夹%LOCALAPPDATA%\.IdentityService- >启动VS并再次登录
  • 右键单击服务器资源管理器中的Azure节点,然后选择"连接到Microsoft Azure订阅..."

上述任何内容都无效.2天前我才能使用这些东西.这就是我怀疑更新的原因.

然后我尝试在Visual Studio社区网站上发布一个问题.这要求我在VS中使用"报告问题" - 特征.你猜怎么着?登录也在那里打破,所以我甚至无法将问题传达给MS.

任何进一步的建议都非常欢迎.

azure visual-studio azure-active-directory

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

使用 Microsoft.Graph API 检索 ItemAttachment

我编写了一个程序,它成功地使用 Graph API 检查邮箱并检索消息。如果消息包含标准附件(例如 PDF、Word 文档),则代码可以正常工作。我可以在调试中看到这些被视为“FileAttachment”类型。但是,如果消息包含另一封电子邮件的附件,或者是语音邮件消息的 .wav 文件(这对我来说似乎很奇怪),那么程序就会阻塞,因为这些附件是类型的ItemAttachment并且转换失败。相关代码是这样的:

var msgTask = GraphClient.Me.MailFolders.Inbox.Messages.Request().Filter(filter).Expand("attachments").GetAsync();
IMailFolderMessagesCollectionPage messages = msgTask.Result;
foreach (Message msg in messages)
{
    // ...  
    foreach (Attachment att in msg.Attachments)
    {
        FileAttachment attachment = (FileAttachment)att;
        MsgFile.Attachments.Add(new System.IO.MemoryStream(attachment.ContentBytes), attachment.Name);
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经进行了一些搜索,并且正在查找使用 REST 来获取与 关联的数据的文档ItemAttachment,但我没有使用 REST,至少没有直接使用。这是一个 Windows 命令行应用程序,我使用 NuGet 下载了Microsoft.GraphMicrosoft.Graph.Core软件包。这些是我在代码中其他任何地方使用的库,用于验证和访问 Office 365 数据。

因此,我想知道是否有人对如何使用这些库访问和下载 ItemAttachment 对象有任何见解。谷歌搜索有关 Graph API 的信息几乎总是与 REST 有关。我找到了一些使用这些库的示例代码,但没有一个涉及 ItemAttachments。

c# microsoft-graph-api

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

控件将无法在jQuery选项卡中获得适当的维度

我正在使用jQuery的ui-tabs.如果我打开一个在页面加载时关闭的选项卡,则此选项卡中的子控件将不具有选项卡的完整宽度.这是因为关闭的标签获取类ui-tabs-hide,并且显示设置为none.

有一个简单的方法来处理这个?我已经尝试使用隐藏可见性而不是显示无,但这会将我的标签内容包装在彼此之下.

jquery jquery-ui jquery-ui-tabs

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

使用.NET Core SDK创建筛选的服务总线订阅

我想从.NET Core 2.1应用程序内部使用Azure Service Bus。我熟悉Nuget软件包随附的SDK,Microsoft.Azure.ServiceBus并使用它目前正在写一个主题并从那里接收消息。

我现在想要的是为每个客户端在此主题上创建订阅。关键是我想使用创建过滤订阅SqlFilter。这意味着,我必须通过代码创建预订。

顺便说一句,据我所知,在代码中执行此操作的另一种方法是使用ARM模板进行部署,因为门户不允许我创建过滤的订阅。

我知道,这Microsoft.Azure.ServiceBus无法创建资源,因此我去了Nuget包Microsoft.Azure.Management.ServiceBus。因此,我现在可以通过如下代码创建新的订阅:

private static async Task CreateSubscriptionAsync()
{
    var context = new AuthenticationContext($"https://login.microsoftonline.com/{Configuration["AppSettings:AzureManagement:TenantId"]}");
    var token = await context.AcquireTokenAsync(
        "https://management.core.windows.net/",
        new ClientCredential(Configuration["AppSettings:AzureManagement:ClientId"], Configuration["AppSettings:AzureManagement:ClientSecret"]));
    var creds = new TokenCredentials(token.AccessToken);
    using (var sbClient = new ServiceBusManagementClient(creds)
    {
        SubscriptionId = VariableHelper.Configuration["AppSettings:AzureManagement:AzureSubscriptionId"]
    })
    {                
        var queueParams = new SBSubscription
        {
            LockDuration = TimeSpan.FromSeconds(10)
        };          
        await sbClient.Subscriptions.CreateOrUpdateAsync(
            Configuration["AppSettings:ServiceBus:ResourceGroup"],
            Configuration["AppSettings:ServiceBus:Namespace"],
            Configuration["AppSettings:ServiceBus:TopicName"],
            "mysub",
            queueParams);                
    }
}
Run Code Online (Sandbox Code Playgroud)

这有效,因此我有一个新订阅,也可以删除。但是现在在哪里可以定义过滤器?该SBSubscription型不包含选项来定义过滤器,并且没有方法-过载sbClient.Subscriptions.CreateOrUpdateAsync

我发现在代码中执行此操作的唯一方法是基于旧的Nuget WindowsAzure.ServiceBus(不适用于.NET …

azure azureservicebus .net-core

4
推荐指数
2
解决办法
621
查看次数

我必须调用Application.ExitThread()吗?

using System.Windows.Forms;

public class App
{
    [STAThread]
    public static void Main()
    {
        string fname;
        using (var d = new OpenFileDialog())
        {
            if (d.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            fname = d.FileName;
        }
        //Application.ExitThread();
        for (; ;)
            ;
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码显示了一个文件对话框.一旦我选择了一个文件并按下open,就会执行for循环,但是(冻结的)对话框仍然存在.

取消注释后Application.ExitThread(),对话框会按预期消失.

这是否按预期工作?为什么不让using窗户消失?我在哪里可以找到更多关于此的信息?

.net c# mono dialog winforms

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

如何使用递归在C#中获得硬币更改问题的最小可能组合

我是C#的新手,我有一个要解决的递归问题.我希望在这个硬币更换问题中获得最少数量的硬币.我已经为它调整了一个算法,但我需要返回一个类型为Change的对象,它将包含最小可能的组合.

我试图实现一个算法,但我有所有可能的组合.

using System;
using System.Collections.Generic;
using System.Linq;

// Do not modify change
class Change
{
    public long coin2 = 0;
    public long bill5 = 0;
    public long bill10 = 0;
}

class Solution
{

    // Do not modify method signature
    public static Change OptimalChange(long s)
    {
        Change _change = new Change();
        //To implement here
        return _change;
    }

    public static int GetCombinations(int total, int index, int[] list, List<int> cur)
    {
        if (total == 0)
        {
            foreach (var i in cur) …
Run Code Online (Sandbox Code Playgroud)

c# dynamic-programming coin-change

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

在MonoTouch中重命名命名空间

在MonoDevelop中使用MonoTouch-Solution重命名我的命名空间后,我无法构建应用程序,因为找不到UI组件的所有引用插座.

我已经在Interface Builder中重新打开了我的XIB,更改了一些并保存了它,但代码仍然无法运行.

我想,IB元素并不关心MonoTouch中定义的命名空间.有办法解决这个问题吗?

monodevelop xamarin.ios ios xamarin xamarin-studio

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

奇怪的等待行为

我有这样的异步方法

public async Task<bool> FooAsync() 
{ 
    return await SomeThirdPartyLib.SomeMethodReturningBoolAsync().ConfigureAwait(false);
}
Run Code Online (Sandbox Code Playgroud)

然后我有一个代码在循环中调用它:

for (var i = 0; i < 10; i++)
{
    ok &= await FooAsync().ConfigureAwait(false);
}
Run Code Online (Sandbox Code Playgroud)

在我的情况下,这将在2或3或其他数量的周期后挂起我的过程.但是当我将代码更改为

for (var i = 0; i < 10; i++)
{
    ok &= await FooAsync()
        .ContinueWith(t => {
            if (t.IsCompleted)
            {
                return t.Result;
            }
            return false;
        })
        .ConfigureAwait(false);
}
Run Code Online (Sandbox Code Playgroud)

完全相同的代码工作.有任何想法吗?

编辑:我刚刚改变了我的示例代码,以显示FooAsync原则上的内容.回答一些已经给出的答案和评论:我不确切知道是什么SomeMethodReturningBoolAsync.事实上,我ContinueWith实际上没有任何用处,这让我很震惊.

c# task-parallel-library async-await

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

使用 bicep 部署逻辑应用 - 将 JSON 转换为有效的 Bicep

我想生成一个二头肌来构建逻辑应用程序。这个的样板是

resource logicApp 'Microsoft.Logic/workflows@2019-05-01' = {
  name: 'lapp-${options.suffix}'
  location: options.location
  properties: {
    definition: {
      // here comes the definition
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我的评论显示了应用程序本身的定义所在的位置。如果我知道从现有逻辑应用程序中获取 JSON(为了简洁起见,我省略了一些内容):

resource logicApp 'Microsoft.Logic/workflows@2019-05-01' = {
  name: 'lapp-${options.suffix}'
  location: options.location
  properties: {
    definition: {
      // here comes the definition
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

你必须将其转换为如下所示:

{
    definition: {
        '$schema': "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#"
        actions: {}
        contentVersion: '1.0.0.0'
        outputs: {}
        parameters: {}
        triggers: {
            'manual': {
                inputs: {

                }
                kind: 'Http'
                type: 'Request'
            }
        }
    }
    parameters: {}
}
Run Code Online (Sandbox Code Playgroud)

这意味着例如:

  • 删除尾随逗号
  • 删除属性上的引号
  • 单引号某些属性,例如 …

azure azure-resource-manager azure-logic-apps azure-bicep

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

Highcharts越野车系列数据超过999项?

我创建了一个例子小提琴.它正在使用来自尼克斯的一些技巧回答这个问题.

当我尝试使用我的数据模型时,没有任何事情发生.调试会话告诉我,如果我这样做:

var maxItems = 1000;
var chartData = new Array(maxItems);
for (var i = 0; i <= maxItems; i++) {
    chartData[i] = { y: 3, x: 1380385867013, myData:'hello' };
}
Run Code Online (Sandbox Code Playgroud)

Highcharts不会显示任何内容.如果我然后将maxItems的值更改为999,它将起作用.

另一个奇怪的是,当我使用时:

chartData[i] = [ 1380385867013, 3 ];
Run Code Online (Sandbox Code Playgroud)

我可以尽可能多的项目,但我需要"myData"选项在那里添加工具提示.现在怎么办?

javascript highcharts

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

Nodejs PDFMake下载无法打开

我现在正在做 Nodejs,尝试使用 PDFMake 生成 PDF。生成后,我希望立即下载它。但是,下载文件后,我无法打开文件。它显示“无法加载 PDF 文档”。我写的代码如下。

var docDefinition = { content: 'test', };

var pdfDoc = printer.createPdfKitDocument(docDefinition);
pdfDoc.pipe(fs.createWriteStream('name.pdf'));

pdfDoc.end();

res.download('name.pdf');
Run Code Online (Sandbox Code Playgroud)

pdf node.js pdfmake

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

无法转回ICollection <T>

我有一个界面ISomeThing:

public interface ISomeThing {}
Run Code Online (Sandbox Code Playgroud)

和实现它的2种类型:

public class SomeThing1 : ISomeThing {}

public class SomeThing2 : ISomeThing {}
Run Code Online (Sandbox Code Playgroud)

然后我有一个使用这些类型的类型:

public class FooBar
{
    public ICollection<SomeThing1> Foo { get; set; }
    public ICollection<SomeThing2> Bar { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后我必须使用反射来访问以下属性FooBar:

var properties = typeof(FooBar).GetProperties()
    .Where(p => typeof(ICollection<>).IsAssignableFrom(p.PropertyType));
Console.WriteLine(properties.Count());
Run Code Online (Sandbox Code Playgroud)

输出将是0.即使我更改代码以查找ICollection<ISomeThing>它也行不通:

var properties = typeof(FooBar).GetProperties()
    .Where(p => typeof(ICollection<ISomeThing>).IsAssignableFrom(p.PropertyType));
Console.WriteLine(properties.Count());
Run Code Online (Sandbox Code Playgroud)

我想直接获得进入酒店,因为ICollection在带来Remove等等.所以,我需要演员来ICollection<T>.

编辑

我改变了我的样本ISomeThing而不是DateTime.关键是我在运行时不知道确切的泛型类型,但我需要得到一个ICollection<ISomeThing>结果.

**编辑2** …

c#

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