我从R#8切换到R#9.当我导入我的类型成员布局然后选择ReSharper - >工具 - >清理代码...它将应用排序但没有区域可见.它只是重新排序项目.那么,我怎样才能让我的地区回归?
我在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进行身份验证,而不再获得"重新进入的东西".
我已经尝试过的:
%LOCALAPPDATA%\.IdentityService- >启动VS并再次登录上述任何内容都无效.2天前我才能使用这些东西.这就是我怀疑更新的原因.
然后我尝试在Visual Studio社区网站上发布一个问题.这要求我在VS中使用"报告问题" - 特征.你猜怎么着?登录也在那里打破,所以我甚至无法将问题传达给MS.
任何进一步的建议都非常欢迎.
我编写了一个程序,它成功地使用 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.Graph和Microsoft.Graph.Core软件包。这些是我在代码中其他任何地方使用的库,用于验证和访问 Office 365 数据。
因此,我想知道是否有人对如何使用这些库访问和下载 ItemAttachment 对象有任何见解。谷歌搜索有关 Graph API 的信息几乎总是与 REST 有关。我找到了一些使用这些库的示例代码,但没有一个涉及 ItemAttachments。
我正在使用jQuery的ui-tabs.如果我打开一个在页面加载时关闭的选项卡,则此选项卡中的子控件将不具有选项卡的完整宽度.这是因为关闭的标签获取类ui-tabs-hide,并且显示设置为none.
有一个简单的方法来处理这个?我已经尝试使用隐藏可见性而不是显示无,但这会将我的标签内容包装在彼此之下.
我想从.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 …
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窗户消失?我在哪里可以找到更多关于此的信息?
我是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) 在MonoDevelop中使用MonoTouch-Solution重命名我的命名空间后,我无法构建应用程序,因为找不到UI组件的所有引用插座.
我已经在Interface Builder中重新打开了我的XIB,更改了一些并保存了它,但代码仍然无法运行.
我想,IB元素并不关心MonoTouch中定义的命名空间.有办法解决这个问题吗?
我有这样的异步方法
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实际上没有任何用处,这让我很震惊.
我想生成一个二头肌来构建逻辑应用程序。这个的样板是
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)
这意味着例如:
我创建了一个例子小提琴.它正在使用来自尼克斯的一些技巧回答这个问题.
当我尝试使用我的数据模型时,没有任何事情发生.调试会话告诉我,如果我这样做:
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"选项在那里添加工具提示.现在怎么办?
我现在正在做 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) 我有一个界面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# ×6
azure ×3
.net ×1
.net-core ×1
async-await ×1
azure-bicep ×1
coin-change ×1
dialog ×1
highcharts ×1
ios ×1
javascript ×1
jquery ×1
jquery-ui ×1
mono ×1
monodevelop ×1
node.js ×1
pdf ×1
pdfmake ×1
resharper ×1
winforms ×1
xamarin ×1
xamarin.ios ×1