小编Pet*_*din的帖子

替代多个String.Replaces

我的代码String.Replace连续多次使用:

mystring = mystring.Replace("somestring", variable1);
mystring = mystring.Replace("somestring2", variable2);
mystring = mystring.Replace("somestring3", variable1);
Run Code Online (Sandbox Code Playgroud)

我怀疑有更好更快的方法.你会建议什么?

c# string replace

60
推荐指数
5
解决办法
6万
查看次数

重命名文件时,Visual Studio非常慢

我有一个中型解决方案,有99个项目,最近开始表现得非常奇怪:

1)如果我尝试通过解决方案资源管理器重命名文件,VS似乎会挂起,但很长一段时间(10分钟以上)后,它将完成重命名操作.

2)我今天也注意到,在Debug和Release模式之间切换似乎也会冻结VS. 到目前为止,我没有让它运行足够长的时间来看看它是否真的完成了.

我已经尝试过Visual Studio 2012和2013,两者都表现出同样的问题,所以这似乎表明问题可能与Visual Studio无关.我试图检查事件日志中是否有任何东西,但没有任何东西跳出来.我也重新启动并运行checkdisk,但它没有发现任何错误.

在具有8GB RAM和新SSD的相当高规格的笔记本电脑上运行Windows 7 Professional

更新:显然如果我重命名了一次文件,我可以立即重命名它(以及解决方案中的其他文件).当我重新启动VS时,它再次变慢.

Update2:我让计算机一夜之间运行,试图从Debug切换到Release,它在我离开工作和回到这里之间的14个小时内成功完成了.

visual-studio-2012 visual-studio-2013

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

为整个 Visual Studio 解决方案设置 warningsaserrors,而不仅仅是每个项目

在 Visual Studio 中,您可以转到项目的属性 -> 构建 ->“将警告视为错误”,并提供以逗号分隔的警告列表,以在构建时将其视为错误。

这会导致以下行被添加到.csproj文件的构建配置中:<WarningsAsErrors>[list of warnings]</WarningsAsErrors>

这样做的问题是,当您拥有包含数十个项目的大型解决方案时,您必须手动或通过脚本为所有项目设置此设置,并且如果您进行任何更改,则必须对所有项目进行更改。

有没有什么方法可以在解决方案级别而不是在每个项目的基础上进行设置?

solution csproj visual-studio

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

SQL Server:计算表B中ID表中ID的次数

我有两张桌子:产品和订单.订单通过ProductID引用产品作为外键.我想知道每种产品的销售次数,包括仅售出一次的产品.我几乎可以使用左连接使其工作,但是仍然为所有产品提供一行计数为1,无论它们是否存在于订单表中.

有没有办法做到这一点,你会得到这样的结果?

Product | Times sold
Milk    | 5
Bread   | 18
Cheese  | 0
Run Code Online (Sandbox Code Playgroud)

... 等等.

sql sql-server count

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

VSTS不断生成新的个人访问令牌

最近,我几乎每20分钟收到一封电子邮件,因此主题为“添加了Visual Studio Team Services个人访问令牌”。内容是这样的:

A new personal access token was added to your account
    Git: https://[company account].visualstudio.com/ on [USER]
    Scopes: vso.code_write vso.packaging
    Expiration: 7/4/2019
Run Code Online (Sandbox Code Playgroud)

规律性使我认为这是自动进行的,但是我不知道那会是什么。

azure-devops

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

从多个项目创建NuGet包,包括NuGet依赖项

我有一个解决方案,我想从两个项目创建一个NuGet包.

如果它只是一个项目,我会使用.csproj文件来规范NuGet包装器,但由于我想要两个不同的项目进入完成的包,我不能这样做.

我创建了一个NuSpec文件,该文件引用了两个项目中的DLL,然后在命令行中使用-IncludeReferencedProjects开关打包它.这包括来自同一解决方案的引用项目,但不包括项目中依赖项的任何NuGet包.

我尝试在另一个解决方案中引用新的NuGet包,并且构建并运行该解决方案,但是当它从我刚创建的NuGet包中的依赖项NuGet包中查找DLL时,在运行时遇到了FileNotFoundException.

我意识到我可以在NuSpec文件中包含NuGet依赖项,但是当我的一个项目添加另一个NuGet引用时,这将变得过时.

是否可以设置一个NuSpec文件,以便它使用我的两个项目中的.csproj文件并正确设置NuGet依赖项,即使项目是使用新的NuGet依赖项更新的?

nuget nuget-package

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

如何创建仅影响已更新/插入的行的触发器?

我有一个有两列的表,我需要一个(columnB)作为另一个()的副本columnA.因此,如果插入或更新了一行,我希望将值columnA复制到columnB.

这就是我现在拥有的:

CREATE TRIGGER tUpdateColB
ON products
FOR INSERT, UPDATE AS
    BEGIN
        UPDATE table
        SET columnB = columnA
    END
Run Code Online (Sandbox Code Playgroud)

现在的问题是查询会影响所有行,而不仅仅是更新或插入的行.我该如何解决这个问题?

sql-server triggers

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

.NET MVC 获取路由模板

假设我有一个带有路由模板的控制器/users/{userId}/profilePhoto

假设一个用户访问/users/123/profilePhoto,另一个用户访问/users/444/profilePhoto

有什么方法可以找到/users/{userId}/profilePhoto用于解决该请求的路由模板 ( ) 吗?例如,是否可以从 中读取它HttpContext

asp.net-mvc routes httpcontext

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