小编Mir*_*pov的帖子

InnoSetup - 安装前复制文件

如何在安装前复制,移动,重命名用户文件?

我们可以使用[InstallDelete]部分轻松删除文件:

[InstallDelete]
Type: files; Name: "{app}\SomeFile.exe";
Run Code Online (Sandbox Code Playgroud)

我们可以用类似的方式复制,重命名吗?

编辑:

我尝试在[Files]部分中进行此操作但在编译期间收到错误,因为源文件不存在:

[Files]
Source: "{app}\SomeFile.exe"; DestDir: "{app}\SomeDir\SomeFile.exe"; 
Run Code Online (Sandbox Code Playgroud)

inno-setup

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

从ServiceRuntime获取"StorageConnectionString":失败

我以编程方式连接到blob商店:

string connectionString = CloudConfigurationManager.GetSetting("StorageConnectionString");
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
...
Run Code Online (Sandbox Code Playgroud)

我的App.Config设置是:

<configuration>
  <appSettings>
    <add key="StorageConnectionString"
         value="DefaultEndpointsProtocol=http;AccountName=ACNAME;AccountKey=MYKEY==" />
  </appSettings>
...
Run Code Online (Sandbox Code Playgroud)

连接有效.但是我在本地单元测试中看到消息"获取" 来自ServiceRuntime:FAIL的StorageConnectionString:

在此输入图像描述

这条消息的原因是什么以及如何修复它?

connection-string azure

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

删除命名管道.NET

我使用以下代码列出我的命名管道:

    private IEnumerable<string> GetNamedPipesList()
    {
        string[] listOfAllPipes = Directory.GetFiles(@"\\.\pipe\");
        return listOfAllPipes.Where(pipe => pipe.Contains("FST"));
    }
Run Code Online (Sandbox Code Playgroud)

效果很好。我可以显示它们:

    private void Scan_Click(object sender, EventArgs e)
    {
        IEnumerable<string> fsbPipes = GetNamedPipesList();
        tbxOutput.Text = string.Empty;
        foreach (string fsbPipe in fsbPipes)
        {
            var pipe = fsbPipe.Replace(@"\\.\pipe\", "");
            tbxOutput.AppendText(pipe + Environment.NewLine);
        }
    }
Run Code Online (Sandbox Code Playgroud)

例子:

FST-MT4_Miroslav-130
FST-MT4_Miroslav-150
FST-MT4_Miroslav-120
Run Code Online (Sandbox Code Playgroud)

之后我想通过删除类似文件来关闭它们:

    private void CloseAll_Click(object sender, EventArgs e)
    {
        IEnumerable<string> myPipes = GetNamedPipesList();
        foreach (string pipe in myPipes)
        {
            try
            {
                File.Delete(pipe);
            }
            catch (Exception exception)
            {
                tbxOutput.AppendText(exception.Message + Environment.NewLine);
            }
        } …
Run Code Online (Sandbox Code Playgroud)

.net named-pipes

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

从Web服务反序列化PHP数据

我正在从Web服务接收数据.数据采用以下格式:

a:5:{s:7:"request";s:14:"94.190.179.118";s:6:"status";i:206;s:12:"currencyCode";s:3:"BGL";}
Run Code Online (Sandbox Code Playgroud)

我需要解析输入.

你能告诉我这是什么格式以及解析它们的最简单方法是什么?

...

我可以通过';'分割字符串来解析 并在单个元素中搜索所需的键和以下值.(可能,但不好的解决方案)可能数据是以标准格式序列化的,可以在字典中反序列化.

.net c# deserialization

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

Vim - 如何突出显示模式的一部分

我想在 Vim C# 中突出显示一个对象。

我在 cs.vim 中执行以下操作:

syn match csObject  "[A-Z][_a-zA-Z0-9]*\.[A-Z]"
Run Code Online (Sandbox Code Playgroud)

并在我的颜色主题中突出显示

hi csObject     guifg=#ff0000
Run Code Online (Sandbox Code Playgroud)

然而,它也绘制了 . 和下一个“单词”的第一个字母。

在此处输入图片说明

如何仅突出显示点之前的匹配项?

编辑 感谢@romainl 的回答,我发现\zs设置了比赛的开始并\za设置了比赛的结束。

这让我可以正确地进行匹配:

syn match csObject         "[ \t\(\!]\zs[A-Z][_a-zA-Z0-9]\{-}\ze\.[A-Z]"
Run Code Online (Sandbox Code Playgroud)

c# vim syntax-highlighting

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

ScrollBar不会在Select()上滚动

我将焦点放在一个滚动条上vScrollBar.Select(); 滚动条变得聚焦但它不会滚动鼠标滚轮.

仅当鼠标光标位于滚动条上时才会滚动.

如何在Select()之后滚动滚动条而不将光标放在滚动条上?

环境:Windows 10,Windows窗体,.NET 4.0

编辑

当我用笔记本电脑触摸板上的两个手指"滚动"时,我注意到滚动条正确滚动,但不是鼠标滚轮.问题可能是因为Windows 10鼠标/触摸板驱动程序?

scrollbar .net-4.0 winforms windows-10

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

CentOS 7 上的 Deno:未找到“GLIBC_2.18”

如何在Webfaction的 CentOS 7(64 位)上运行Deno

它给出了一个错误:

deno: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by deno)
Run Code Online (Sandbox Code Playgroud)

webfaction centos7 deno

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

StackExchange.Redis SetAdd(key,val)崩溃,键= GUID

很烦人的崩溃StackExchange.Redis SetAdd(key, val).

我想设置一个程序GUID作为键的集合.

我发现(经过3个小时的调试)SetAdd(key, val)可以使用一些GUID,但与其他人崩溃:

        string key = "02639d71-0935-35e8-9d1b-9dd1a2a34629";
        const string val = "somevalue";

        db.SetAdd(key, val); // <=== Works

        key = "02639d71-0935-35e8-9d1b-9dd1a2a34627";
        db.SetAdd(key, val); // <=== CRASH @@!!@!@!
Run Code Online (Sandbox Code Playgroud)

不同的是最后一个字符"9"vs"7"

不能SetAdd使用本地GUID作为密钥?

环境:C#.NET 4 Win 8.1 VS2013

崩溃消息:

An unhandled exception of type 'StackExchange.Redis.RedisServerException' occurred in StackExchange.Redis.dll
Additional information: WRONGTYPE Operation against a key holding the wrong kind of value
Run Code Online (Sandbox Code Playgroud)

崩溃点 StackExchange.Redis

在此输入图像描述

...

我在LINQPad中测试了这段代码.它在同一个地方崩溃了.第一个GUID有效,第二个没有.

它会导致崩溃不是由于这是启动应用程序GUID.

使用不同的GUID进行更多测试.只有以'7'结尾的那个崩溃.

    key = "02639d71-0935-35e8-9d1b-9dd1a2a34622";
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34623";
    key = "02639d71-0935-35e8-9d1b-9dd1a2a34624"; …
Run Code Online (Sandbox Code Playgroud)

.net c# redis stackexchange.redis

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

如何从SendGrid电子邮件中删除跟踪像素?(Azure上下文)

我正在使用Azure网站,他们通过第三方提供商SendGrid提供电子邮件服务.

它到目前为止工作正常,但他们在电子邮件中放置一个跟踪像素,以提供统计数据.某些电子邮件客户端(如Thunderbird)会在电子邮件中显示远程内容的警告消息.

我想为我的用户提供最安全的服务,并希望从电子邮件中删除此跟踪像素.但是我在设置中找不到这样的选项.

我不想在我的电子邮件中使用第三方内容.你知道如何删除它吗?

(我正在使用免费的SendGrid计划)

或者,Azure是否拥有自己的SMTP服务?

azure sendgrid

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

在JavaScript中使用累加器的数组映射

如何使用累加器的数组映射?

让我们有一个数字列表,并找到当前总和的列表.例:

const nums = [1, 1, 1, -1, -1];
const sums = [1, 2, 3,  2,  1];
Run Code Online (Sandbox Code Playgroud)

我尝试map使用,thisArg因为根据:MDN Array.prototype.map()使用累加器

thisArg- this执行回调时使用的值.

我提供一个对象acc设置为0thisArg:

const actual = nums.map(val => this.acc += val, {acc: 0});

require('assert').deepEqual(actual, sums);
Run Code Online (Sandbox Code Playgroud)

它崩溃了,错误:

AssertionError: [ 1, 2, 3, 2, 1 ] deepEqual [ NaN, NaN, NaN, NaN, NaN ]
Run Code Online (Sandbox Code Playgroud)

测试通过外部累加器:

let   acc    = 0;
const actual = nums.map(val => acc += val);
Run Code Online (Sandbox Code Playgroud)

javascript dictionary

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

在多线程事件,MVP,Winforms上更新来自演示者的视图

处理多线程时,Presenter通常会收到事件并调用View来更新相应的控件.

主持人:

private void EventAggregator_InfoUpdated(object sender, InfoUpdatedEventArgs e)
{
    view.UpdateFeedInfo(e.FeedInfo);
}
Run Code Online (Sandbox Code Playgroud)

视图:

public void UpdateFeedInfo(FeedInfo feedInfo)
{
    if (!control.IsHandleCreated && !control.IsDisposed) return;

    control.BeginInvoke((MethodInvoker) (() => control.Update(feedInfo)));
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在调用view之前在GUI线程中调用presenter中的方法调用.就像是:

private void EventAggregator_InfoUpdated(object sender, InfoUpdatedEventArgs e)
{
    //InvokeInUiThread// ManageInfoInput(e.FeedInfo);
}

private void ManageInfoInput(FeedInfo feedInfo)
{
    ...
    view.UpdateFeedInfo(e.FeedInfo);
}
Run Code Online (Sandbox Code Playgroud)

.net c# mvp winforms

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

Windows报告签名应用程序的"未知发布者"

当我尝试在下载后运行它时,Windows 10开始将我的应用程序报告为"未知发布者".

在此输入图像描述

但是,在接受安装后,它将我公司视为发布者:

在此输入图像描述

该应用程序使用Comodo的证书进行签名:

在此输入图像描述

这是一个非常不愉快的情况.如何解决问题?

windows digital-certificate

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

Perl:匿名列表的长度

如何获取匿名列表的长度?

perl -E 'say scalar ("a", "b");' # => b
Run Code Online (Sandbox Code Playgroud)

我希望scalar在标量上下文中返回列表-它的长度。

为什么返回第二个(最后一个)元素?

它适用于数组:

perl -E 'my @lst = ("a", "b"); say scalar @lst;' # => 2
Run Code Online (Sandbox Code Playgroud)

arrays perl scalar list perl5

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