小编Jac*_*eja的帖子

如何为TeamCity项目构建Debug和Release

我想到的第一个想法是使用两个Visual Studio(.sln)构建步骤 - 每个配置一个.(TC v5 +上支持多个构建步骤).

有没有更好的办法?

msbuild teamcity

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

在代码背后使用Presentation Model有哪些主要缺点?

我正在努力为自己做好准备迎接这个问题:

"为什么我们不能在后面的代码中实现表示模型?"

事实上,我参与了一个项目,我们使用了一个在后面的代码中实现的表示模型.它运作得相当好,我们甚至可以对它进行单元测试.是的,你在单元测试中依赖于WPF ......但它确实有效!

那么,使用代码背后的主要缺点是什么?

我更喜欢独立ViewModel(MVVM)的想法,但目前我觉得无法向客户证明这一点.

.net wpf presentation-model mvvm

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

.NET异步套接字:在这种情况下SocketAsyncEventArgs在Begin/End上的任何好处是什么?

Socket具有这些新的异步方法,因为.NET 3.5与SocketAsyncEventArgs(例如Socket.SendAsync())一起使用,有利于它们使用IO完成端口并避免需要继续分配.

我们创建了一个名为UdpStream的类,具有简单的接口 - 只需StartSendCompleted事件.它分配两个SocketAsyncEventArgs,一个用于发送,一个用于接收.StartSend只是使用SendAsync调度消息,并且每秒调用大约10次.我们在接收SocketAsyncEventArgs上使用Completed事件,并在处理完每个事件后,我们所有的ReceiveAsync都会形成一个接收循环.同样,我们每秒大约收到10次.

我们的系统需要支持多达500个这些UdpStream对象.换句话说,我们的服务器将与500个不同的IP端点同时通信.

我注意到在MSDN SocketAsyncEventArgs示例中他们分配了N x SocketAsyncEventArgs,一个用于您希望一次处理的每个未完成的接收操作.我不清楚这与我们的场景究竟有什么关系 - 在我看来,也许我们没有得到SocketAsyncEventArgs的好处,因为我们只是为每个端点分配一个.如果我们最终获得500个SocketAsyncEventArgs,我认为我们将无法获益.也许我们仍然可以从IO完成端口获得一些好处?

  • 在扩展到500时,此设计是否正确使用SocketAsyncEventArgs?

  • 对于我们使用单个"UdpStream"的情况,使用SocketAsyncEventArgs与使用旧的Begin/End API相比有什么好处?

.net sockets asynchronous socketasynceventargs

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

默认的 Razor cshtml 命名空间在哪里定义?

默认情况下,以下内容出现在 Razor 生成的代码中:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Helpers;
using System.Web.Security;
using System.Web.UI;
using System.Web.WebPages;
Run Code Online (Sandbox Code Playgroud)

这些是从哪里来的?我查看了 machine.config 和根级 web.config,但它不在那里。

我已经验证我可以使用以下方法添加到该列表中:

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        .... etc
Run Code Online (Sandbox Code Playgroud)

而且我猜我可能可以使用<clear/>...删除,但我很想知道它们从哪里开始。

asp.net asp.net-mvc web-config razor

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

根据上下文为抽象属性创建具体类型

我有以下类型层次结构:

public abstract class ResourceId
{
}

public class CarId : ResourceId
{
}

public class PlaneId: ResourceId
{
}

public interface IResource
{
  ResourceId Id { get; set; }
}

public class Plane : IResource
{
  public ResourceId Id { get; set; }
}

public class Car : IResource
{
  public ResourceId Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我希望AutoFixture在尝试创建Plane或Car时创建"正确"类型的ResourceId.

我试过用:

_fixture.Customize<Plane>(composer => 
    composer.With(h => h.Id, _fixture.Create<PlaneId>()));
Run Code Online (Sandbox Code Playgroud)

但是,当然会为每个实例创建相同的ID.我希望每个人都有一个唯一的ID.

对此最好的方法是什么?

c# unit-testing autofixture

5
推荐指数
3
解决办法
249
查看次数

是什么导致 SQL LocalDB 上出现“指定的 LocalDB 版本在此计算机上不可用”错误?

我刚刚在新工作站上全新安装了 VS2015 Update 2,并开始运行一些使用 SQL LocalDb 的集成测试。他们因以下原因而失败SqlException

附加信息:本地数据库运行时:无法创建命名实例。

指定的 LocalDB 版本在此计算机上不可用。

我们使用的连接字符串是(并且以前使用 VS2013):

server=(localdb)\SystemTest;Integrated Security=true
Run Code Online (Sandbox Code Playgroud)

如您所见,这没有指定任何版本,实际上是在尝试连接到命名实例。

如果我跑sqllocaldb v我得到:

Microsoft SQL Server 2014 (12.0.2000.8)
Microsoft SQL Server 2016 Release Candidate 0 (RC0) (13.0.1100.286)
Run Code Online (Sandbox Code Playgroud)

我尝试手动创建和启动“SystemTest”实例,甚至指定版本,但两者似乎都导致抛出相同的 SqlException。

连接字符串语法是否已更改?我错过了什么?

更新: 如果我使用自动实例(现在在 SQL2014 及更高版本上命名为“MSSQLLocalDb”),代码工作得很好。比较这两个实例时,sqllocaldb i除了一个是自动创建之外,它们都是相同的。他们都在Running州内。所以看起来问题只发生在命名实例上。

sql-server localdb sql-server-2014 sql-server-2016

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

如何删除所有版本中的 TeamCity 标签?

我找到删除 TeamCity 标签的唯一方法是从所有版本中删除对该标签的所有引用。这是一个手动且费力的过程。有没有办法自动完成?

teamcity teamcity-9.0

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

如何修复 Azure Cloud Shell 错误“MissingSubscriptionRegistration - 订阅未注册为使用命名空间“Microsoft.Storage””

我刚刚尝试使用在 Build 2017 上宣布的新奇 Azure Cloud Shell,但收到以下错误(作为 json 消息):

  {
    "error": {
        "code": "MissingSubscriptionRegistration",
        "message": "The subscription is not registered to use namespace 'Microsoft.Storage'"
    }
  }
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索了这个并找到了答案,建议我需要注册一个资源提供者:

Register-AzureRmResourceProvider -ProviderNamespace Microsoft.Storage
Run Code Online (Sandbox Code Playgroud)

或者

azure provider register Microsoft.Storage
Run Code Online (Sandbox Code Playgroud)

...但我懒得设置到 Azure 的命令行会话。

如何使用 Azure 门户执行此操作?

azure azure-cloud-shell

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

是什么触发要为访问VPC资源的AWS Lambda创建ENI的

我们部署了多个Lambda,可以使用该VpcConfig设置访问我们的VPC 。

我了解AWS Lambda通常会根据需要创建lambda,但是如果您将它们连接到VPC,则AWS会(在某个时候)在中指定的子网之一上创建ENI VpcConfig并附加lambda容器以允许其访问您的VPC。

但是究竟是什么触发了ENI的创建和附加呢?我注意到,lambda和ENI之间以及ENI与子网之间没有一对一的映射。另外,什么决定了ENI附加到哪个子网?

如果我ping localhost为VPC配置手动运行了一个测试lambda(至),它将永远不会创建ENI。所以我猜这是因为它没有尝试访问网络上的任何内容。

amazon-web-services aws-lambda

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

如何防止 Powershell 模块安装到 OneDrive

我的$env:PSModulePath最终包含 OneDrive:

C:\Users\jack\OneDrive\Documents\PowerShell\Modules;C:\Program Files\PowerShell\Modules;c:\program files\powershell\7\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
Run Code Online (Sandbox Code Playgroud)

但我不希望我的所有模块都同步到云端。

根据文档

Windows 上特定于用户的 CurrentUser 位置是 PowerShell\Modules 文件夹,位于用户配置文件中的Documents位置... Microsoft OneDrive 还可以更改 Documents 文件夹的位置。

所以这就解释了模块是如何结束的。但是我该如何解决呢?

我可以修改,$env:PSModulePath但这只会让 pwsh 找到更多我认为的模块。它不会更改为CurrentUser安装新模块的默认路径。

PS我在Update-Help本地保存帮助时遇到了同样的问题...... OneDrive :-(

powershell

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