小编Fro*_*ode的帖子

Visual Studio 2015.未添加到TFS的文件

我正在使用Visual Studio 2015更新3与托管在visualstudio.com上的TFS.当我在Visual Studio中的一个项目中添加C#类文件时,它不会自动添加到源代码管理中.对于同一解决方案中的其他项目,将按预期自动添加C#类文件.

当我在项目中手动添加文件时出现此问题,我得到以下问题;

在此输入图像描述

我必须确认将文件添加到源代码管理.

有一个类似的问题(Visual Studio 2015新文件未自动添加到源代码控制中),与"发布"分支相关联,这不是这里的情况(至少我认为是这样 - 我们的TFS项目从未分支过)

我们从未手动配置任何.tfignore.这最近开始发生并且发生在所有开发机器上,因此它可能不是客户机问题.

我很无能,所以任何帮助都非常感谢.

UPDATE

我发现问题出现在名称以".Lib"结尾的项目中

项目:

  • 核心(好的)
  • Core.Lib(文件未自动添加)
  • 沟通(好的)
  • Communication.Lib(文件未自动添加)

我试图在Test.Lib我的解决方案中添加一个测试项目.这个项目也没有添加到TFS,但项目Test是.

tfs visual-studio visual-studio-2015 tfs-2015

12
推荐指数
1
解决办法
2429
查看次数

Azure Storage 403 Forbidden异常是一个32位问题?

我们花了相当长的时间来找出以下异常的原因:

The remote server returned an error: (403) Forbidden.
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext) 
   in c:\\Program Files (x86)\\Jenkins\\workspace\\release_dotnet_master\\Lib\\ClassLibraryCommon\\Core\\Executor\\Executor.cs:line 604
at Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer.Create(BlobContainerPublicAccessType accessType, BlobRequestOptions requestOptions, OperationContext operationContext) 
   in c:\\Program Files (x86)\\Jenkins\\workspace\\release_dotnet_master\\Lib\\ClassLibraryCommon\\Blob\\CloudBlobContainer.cs:line 68
at Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer.CreateIfNotExists(BlobContainerPublicAccessType accessType, BlobRequestOptions requestOptions, OperationContext operationContext) 
   in c:\\Program Files (x86)\\Jenkins\\workspace\\release_dotnet_master\\Lib\\ClassLibraryCommon\\Blob\\CloudBlobContainer.cs:line 233
at Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer.CreateIfNotExists(BlobRequestOptions requestOptions, OperationContext operationContext) 
   in c:\\Program Files (x86)\\Jenkins\\workspace\\release_dotnet_master\\Lib\\ClassLibraryCommon\\Blob\\CloudBlobContainer.cs:line 196
...The rest is removed for clearity...
Run Code Online (Sandbox Code Playgroud)

作为最后的手段,我们将App-service环境设置从32位(似乎是默认值)更改为64位,问题得以解决.没有更多的禁止例外.

我们仍然不知道为什么32位应该导致异常.有人知道为什么吗?很高兴知道.

更新

我们解决方案中的程序集编译为.NET 4.6.1 /任何CPU

我们的一些理论

  • Nuget/Azure不兼容(版本控制)
  • JIT编译器32位/ 64位差异
  • 32位(身份验证和服务器时钟)的时序问题
  • 其他...

c# asp.net azure azure-storage

10
推荐指数
0
解决办法
434
查看次数

取消“验证断点位置”对话框时,IDE冻结

我正在使用Visual Studio Enterprise 2015更新3(内部版本14.0.25424.00)。当我加载一个相对较大的解决方案并且所有项目都已加载时,将出现一个调试器对话框,其中显示“验证断点位置..:”。

在此处输入图片说明

验证断点位置的过程永远不会结束。如果按“取消”按钮,则IDE将完全冻结,因此必须终止devenv过程。

我已经尝试过了,devenv /ResetSettings但是没有帮助。

我的解决方案包含20多个类库项目,两个Web项目(使用node / gulp)

还有其他人经历过吗?有什么办法吗?

.net ide freeze visual-studio-2015

5
推荐指数
0
解决办法
645
查看次数

Dapper SqlException 和未观察到的异常

当 T-SQL proc 引发错误 (SQLException) 时,我遇到以下代码问题

    var result = await conn.QueryMultipleAsync("Inventory.uspLoadItems", new
    {
        dbId = obj.myId,
    },
    commandType: CommandType.StoredProcedure);
    var items = await result.ReadAsync();
    var specificItems = MyCustomMapper.MapTo<MyItem>((dynamic)items);
Run Code Online (Sandbox Code Playgroud)

我正在使用 Dapper 版本 1.50.2。

该过程被抛入一个未观察到的异常中。

我可以一直跟踪异常直到 WebApi 控制器方法。 但是当控制器方法存在时,var items = await items.ReadAsync();即使 WebApi 会话已终止(GC 收集?),另一个(生成和未完成的)线程仍会继续执行。由于我误解了 Parallell Stack 窗口中的信息,文本被删除。ReadAsync 处的异常失败,而不是 QueryMultipleAsync,因此在异常之后没有继续)。看起来像 Dapper 中的线程问题,但我不确定。

更新

我发现 Microsoft Connect 上的以下链接似乎与此主题高度相关。 https://connect.microsoft.com/VisualStudio/feedback/details/2592987/sqldatareader-nextresultasync-causes-unobserved-task-exception-even-when-awaited

所以,对于任何经历过这种行为的人。您将不得不等待下一次 .NET 更新。

不是 Dapper 的问题,但如果 Dapper 的贡献者能找到一个临时的解决方法,那就太好了 :)

现在,我将所有 ReadAsync 更改为 Read(同步)以避免此 SqlDataReader 错误。

.net c# task-parallel-library dapper

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

在解决方案中找到遗漏等待

我的服务器代码中有很多异步方法,但我怀疑我有没有等待的调用者.

是否有一种简单的方法来扫描缺少await的调用的代码?

public async Task DomeSomethingAsync() 
{
     var result = await GetResult();
     await StoreResult(result);
}
Run Code Online (Sandbox Code Playgroud)

然后某个地方我忘了使用等待;

public async Task SomeBuggyCode()
{
     await Initialize();
     DoSomethingAsync();  // DOH - Forgot await
}
Run Code Online (Sandbox Code Playgroud)

我希望有一种聪明的方法可以识别这些错误的调用.

.net c# asynchronous async-await roslyn-code-analysis

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

创建 RSA-SHA1 签名

是否可以使用存储在 Azure Key Vault 中的 X509 证书创建 RSA-SHA1 签名?【不可否认证明】

不幸的是,我无法将哈希算法更改为 SHA256 或更安全的算法,而且我确实需要将证书作为密钥存储在 Azure Key Vault 中。

到目前为止我已经尝试过

await kvClient.SignAsync(keyVaultUrl, "RSNULL", digest); // digest = 20byte SHA1
await kvClient.SignAsync(keyVaultUrl, "RSNULL", ans1Digest); // asn1Digest = 35byte SHA1 wrapped in ANS1 structure
Run Code Online (Sandbox Code Playgroud)

签名长度似乎是正确的(256 字节),但验证失败(在正确实现签名验证实现的节点上)。

我还尝试像这样手动实现签名算法(使用keyVault.EncryptAsync):

  • 数据>>计算SHA1摘要
  • 将 SHA1 摘要包装在 ASN.1 结构中(与 SHA1 对象标识符一起)
  • 填充 ANS.1 结构,因此摘要与证书的密钥长度匹配
  • 使用 RSA1_5 >> 签名加密填充的 ANS1.structure

我一定做错了什么。不确定是否需要所有步骤。

如果微软的任何人读到这个。即使 SHA1 签名不被认为是安全的,你能实现它吗?漂亮,请在上面加糖:-)

c# sha1 rsa digital-signature azure-keyvault

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

为什么必须使用动态输入参数对强类型函数进行类型转换?

我有一个转换器方法:

MyPoco Convert(dynamic p) => new MyPoco { A = p.X, B = p.Y };
void Test()
{
    dynamic item = new { X = 1, Y = 2 };
    var poco = (MyPoco)Convert(item);
}
Run Code Online (Sandbox Code Playgroud)

我必须将结果显式转换为 MyPoco,否则 poco 也将成为动态变量。

但是,如果我内联 Convert 方法;

void Test()
{
    MyPoco Convert(dynamic p) => new MyPoco { A = p.X, B = p.Y };
    dynamic item = new { X = 1, Y = 2 };
    var poco = Convert(item);
}
Run Code Online (Sandbox Code Playgroud)

我不需要将 ConvertItem 转换为 MyPoco。这种行为有原因吗?编译器应该很容易知道Convert返回类型是MyPoco,对吧?

.net c# dynamic c#-7.0 local-functions

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

Cocos Creator 和 TypeScript 使用枚举作为属性

问题严格与 TypeScript 有关。如果我在 Cocos Creator 中有基于 JavaScript 的 Cocos 项目,那么我遇到的问题就完美无缺。

我在名为 enums 的文件中有以下枚举。

export const enum CollisionType {
Static=    0,
Dynamic=   1,
Solid=     2,
SemiSolid= 3
}
Run Code Online (Sandbox Code Playgroud)

在我的 game.ts 文件中,我有以下内容

import {CollisionType} from "./Enums";

export default class PlayerControl extends cc.Component {

@property (CollisionType)
collisionType:CollisionType = CollisionType.Static;
Run Code Online (Sandbox Code Playgroud)

但不幸的是,这不起作用。我在 CollisionType 下看到一条红线,并出现以下错误:

Argument of type 'typeof CollisionType' is not assignable to parameter of type 'string | number | boolean | Function | any[] | { type?: any; visible?: boolean | (() => boolean); …
Run Code Online (Sandbox Code Playgroud)

typescript cocoscreator

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