小编Dav*_*ant的帖子

使用PowerShell修改Visual Studio解决方案和项目文件

我们目前正在重组我们的源代码,在新的目录结构中移动东西.这会影响我们的Visual Studio解决方案和项目文件,其中必须更新程序集引用,可能的输出目录,生成前和生成后事件等等,以反映我们的更改.

由于我们有许多解决方案和项目,我希望使用PowerShell部分自动化该过程,类似于VS的PowerShell"提供者":

在一个理想的世界里,我可以做类似的事情:

$MySolution.Projects["MyProject"].PostBuildEvent = "copy <this> to <that>"
Run Code Online (Sandbox Code Playgroud)

我知道关于Visual Studio脚本的PowerConsole(我还没有完全探索过).但是,文档很少,我不确定它是否真的满足了我的需求.

还有其他方便操作解决方案和项目文件吗?最好是在PowerShell中,但我愿意接受其他建议.

powershell automation visual-studio-2010

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

REST:通过多个ID访问集合的成员

我有一个REST服务处理网络上的视频服务器.

可以通过多种方式识别每个视频服务器:序列号,名称或机器号.

为了返回我网络上可用的所有服务器的集合,事情非常简单:我已经定义了以下路由:

[Route("/servers", "GET")]
Run Code Online (Sandbox Code Playgroud)

以及以下请求类:

public class ServerCollection : IReturn<List<ServerDto>>
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

现在,我想从我的收藏中返回一个特定的服务器,通过它的序列号,机器名或机器号来识别它.

为此,我定义了以下路由:

[Route("/servers/{SerialNumber}", "GET")]
[Route("/servers/machinenumbers/{MachineNumber}", "GET")]
[Route("/servers/machinenames/{MachineName}", "GET")]
Run Code Online (Sandbox Code Playgroud)

以及以下请求类:

public class Server : IReturn<ServerDto>
{
    public uint SerialNumber { get; set; }
    public uint MachineNumber { get; set; }
    public string MachineName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

所以,我可以访问我的服务器集合:

GET /servers
Run Code Online (Sandbox Code Playgroud)

使用以下任一方法获取特定服务器:

GET /servers/3
GET /servers/machinenumbers/42
GET /servers/machinenames/supercalifragilisticexpialidocious
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?我觉得这不是很RESTful.我应该将此视为我的收藏中的搜索,而不是使用"人工"资源吗?

api rest servicestack

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

使用不可变堆栈

我已经看到这篇帖子宣布今天发布了一个稳定版本的Microsoft.Bcl.Immutable NuGet包.

我想知道:不可变堆栈的用途是什么?我找不到一个有用的例子或场景.可能是我对不变性的理解.如果你能说明为什么这个东西可能有用,最好用一个具体的例子,这将是很好的.

c# stack immutability

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

输出PSBound参数

我想输出已经传递给我的脚本的任何参数的值,以包含在电子邮件中.

我试过这个:

foreach ($psbp in $PSBoundParameters)
{
    $messageBody += $psbp | out-string + "`r`n"
}
Run Code Online (Sandbox Code Playgroud)

但它没有用.有人可以帮我一把吗?

parameters powershell

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

使用 powershell 加载 ntuser.dat

我需要检查网络中 Windows 客户端上所有用户的一些设置。所有用户都有漫游配置文件。

我编写了一个 Powershell 脚本,该脚本加载用户的 NTuser.dat 的脱机副本并读出特定的密钥。然后该文件被卸载,下一个文件被加载到注册表中。

问题是大约 10 个用户后没有加载新文件。当脚本再次启动时,用户仍然不会加载。只有在我关闭 Powershell 提示符并打开一个新提示符后,才会出现新用户。该脚本总是在大约 10 个用户后停止。

$userlist = ls "C:\Temp calls\profiles"
foreach ($user in $userlist){
$username = $user.name
#$username = "ciproda"
reg load "hklm\$username" "C:\Temp calls\profiles\$username\NTUSER.DAT" | Out-Null
...

    Here I check the keys

    ...

[gc]::collect()
start-sleep -s 3
reg unload "hklm\$username"
}
Run Code Online (Sandbox Code Playgroud)

registry powershell

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

架构 REST:如何设计用于请求 + 批准、2 个资源或 1 个资源的 REST API?

假设您正在为需要批准的系统创建 REST API,例如组成员身份系统(我能想到的最接近的类比)。

我的会员资源是/membership. 我可以看到 3 种可能性:

A. 单一资源。

所以一个新的请求是POST /api/membership创建{group: 10, user:1, status:"pending"}. 然后组织管理员批准PATCH /api/membership/:membership {status: "member"}

优点:单一 API。缺点:更难轻松区分不同的成员类型;毕竟,“待定”成员并不是真正的成员。更重要的是,加入请求实际上并不是会员资格

B. 分离资源。

一个新请求是POST /api/join创建一个加入请求{group: 10, user: 1, status:"pending"}。组织管理员然后由 批准PATCH /api/join/:join {status: "approved"}。然后自动(在服务器上)在/api/membership/:membership.

优点:将加入请求与实际会员资格完全分开。缺点:似乎是多余的(请求和成员资格的属性相似),并且依赖于在后端自动处理一种资源与另一种资源。

C. 分离资源和请求。

就像选项 B 一样,除了组织管理员分2 个步骤批准。先POST /api/membership {group:10, user:1}然后PATCH /api/join/:join {status:"approved"}

优点:将请求与实际成员资格完全分开。也不依赖于一种资源的后台处理来影响另一种资源。缺点:依靠 UI 来做更麻烦!

帮助?

rest

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

使用互操作创建Excel文件时阻止Excel打开

大家好我正在使用Microsoft Office interop创建一个excel.它成功创建文件.但问题是,当它创建一个文件时,它只是打开excel将值添加到excel并将其保存在指定的名称.任何意外的输入时间结果导致异常.从数据库创建了近75个文件,并且因此需要时间.在处理过程中我无法执行任何任务,因为如果在excel中键入它会创建异常.是否有任何方法可以运行该进程在后台,以便excel应用程序不会为每个文件创建打开.

Excel.Application oXL;
Excel.Workbook oWB;
Excel.Worksheet oSheet;
Excel.Range oRange;

// Start Excel and get Application object. 
oXL = new Excel.Application();

// Set some properties 
oXL.Visible = true;
oXL.DisplayAlerts = false;

// Get a new workbook. 
oWB = oXL.Workbooks.Add(Missing.Value);

// Get the active sheet 
oSheet = (Excel.Worksheet)oWB.ActiveSheet;
oSheet.Name = "Sales";

// Process the DataTable 
// BE SURE TO CHANGE THIS LINE TO USE *YOUR* DATATABLE 
DataTable dt = dtt;

int rowCount = 1;
foreach (DataRow dr in dt.Rows)
{ …
Run Code Online (Sandbox Code Playgroud)

c# excel office-interop

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

从管道构建Powershell字符串参数

我需要使用管道输出动态构建一个字符串参数,然后传递给另一个命令.

source命令Get-VM有一个名为Name的元素

目标命令是Move-VM,接受参数-DestinationStoragePath

我需要动态操纵基于源名称是这条道路D:\{0},其中{0}的虚拟机名称.

到目前为止我有这个:

Get-VM | Move-VM -DestinationStoragePath [string]::Format("D:\{0}",$_.Name)
Run Code Online (Sandbox Code Playgroud)

但它抛出异常,如果我静态设置DestinationStoragePath参数,那么它工作正常,所以它只是这一点点绊倒它.

有任何想法吗?

powershell

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

按引用调用和按值调用结果

好吧,我和我的朋友就下面的代码进行了辩论。我们对它产生的输出有点困惑。有人可以澄清以下代码段的按引用调用和按值调用结果吗?

program params;
    var i: integer;
    a: array[1..2] of integer;

    procedure p(x,y: integer);
    begin
        x := x + 1;
        i := i + 1;
        y := y + 1;
    end;

begin
    a[1] := 1;
    a[2] := 2;
    i := 1;
    p( a[i],a[i] );
    output( a[1],a[2] );
end.
Run Code Online (Sandbox Code Playgroud)

在参数通过 value-result 和通过引用传输到过程 p 的情况下,该程序的结果输出。

pascal pass-by-reference call-by-value

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

我应该如何将 Redux 添加到使用 Create-React-App 创建的 React 项目中?

我使用 Create-React-App 创建了一个 React 项目。该package.json文件显示:

{
  "name": "dashboard",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^15.5.4",
    "react-dom": "^15.5.4"
  },
  "devDependencies": {
    "react-scripts": "1.0.7"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}
Run Code Online (Sandbox Code Playgroud)

如何添加 Redux?我需要运行什么命令才能将其安装到我的 node_modules 中?

reactjs

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