小编jbt*_*ule的帖子

T4模板在新的VS2017 csproj项目中不生成输出

我将project.json/ .xprojproject 迁移到较新的CS2017 .csproj格式.

该项目包含一个T4(.tt)模板文件.

它不会在保存或构建时重新生成其输出.输出.cs文件也没有嵌套在.tt文件下面.

为了让这个工作,我有什么必须做的吗?

t4 csproj visual-studio-2017

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

RNCryptor不使用JSON字符串

以下是我使用RNCryptor加密/解密我发送给Web服务的JSON字符串的方法.我使用静态IV变量可能是不好的做法,但请不要专注于此.我是这样做的:

注:我使用发现马特加拉格尔的NSData的+ Base64编码类别这里(在页面底部)

-(NSString*)encryptString:(NSString*)plaintext withKey:(NSString*)key error:(NSError**)error{
    NSData *data = [plaintext dataUsingEncoding:NSUTF8StringEncoding];
    NSData *encryptionKey = [NSData dataFromBase64String:key];
    NSData *IV = [NSData dataFromBase64String:ENCRYPTION_IV];

    RNCryptorEngine *engine = [[RNCryptorEngine alloc] initWithOperation:kCCEncrypt settings:kRNCryptorAES256Settings key:encryptionKey IV:IV error:error];
    [engine addData:data error:error];
    NSData *encryptedData = [engine finishWithError:error];

    NSString *based64Encrypted = [encryptedData base64EncodedString];
    NSLog(@"Encrytped: %@", based64Encrypted);
    return based64Encrypted;
}
-(NSString*) decryptString:(NSString*)cipherText withKey:(NSString*)key error:(NSError**)error;{
    NSData *data = [NSData dataFromBase64String:cipherText];
    NSData *encryptionKey = [NSData dataFromBase64String:key];
    NSData *IV = [NSData dataFromBase64String:ENCRYPTION_IV];

    RNCryptorEngine *engine = [[RNCryptorEngine alloc] initWithOperation:kCCDecrypt settings:kRNCryptorAES256Settings key:encryptionKey IV:IV …
Run Code Online (Sandbox Code Playgroud)

encryption encoding ios rncryptor

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

f#byte [] - > hex - >字符串转换

我有字节数组作为输入.我想将该数组转换为包含数组值的十六进制表示的字符串.这是F#代码:

let ByteToHex bytes = 
    bytes 
    |> Array.map (fun (x : byte) -> String.Format("{0:X2}", x))

let ConcatArray stringArray = String.Join(null, (ByteToHex  stringArray))
Run Code Online (Sandbox Code Playgroud)

这产生了我需要的结果,但我想使它更紧凑,因此我只有一个功能.我找不到在ByteToHex结尾处连接每个字节的字符串表示的函数.
我尝试了Array.concat,concat_map,我尝试了列表,但我能得到的最好的是数组或字符串列表.

问题:

  1. 这样做最简单,最优雅的方法是什么?
  2. 在F#中是否有字符串格式化构造,以便我可以从系统程序集中替换String.Format?

示例输入:[| 0x24uy; 0xA1uy; 0x00uy; 0x1Cuy |]应该产生字符串"24A1001C"

f#

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

C#动态索引器

有人知道是否可以通过索引器使用动态lang功能在CLR对象上调用方法?例如, myClrObj["SuperMethod"] () 我可以在javascript中轻松完成.

预先感谢.

c#

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

便携式类库测试

因此,在没有任何平台特定代码的情况下测试可移植类库时,是否只能从配置文件中测试其中一个平台(.net 4.5)?我的直觉说不,但我已经读过一些其他的说法.

如果你确实需要对每个平台进行测试,那么.net中的任何一个测试框架都有一个PCL测试库,每个或大多数平台都有一个运行器,所以只需要一个单元测试的DLL吗?

.net unit-testing portable-class-library

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

ExpandoObjects 的动态视图“隐藏”具有空值的属性

我有一些代码可以与由数据库调用填充的 ExpandoObjects 一起使用。总是有些值是空值。当我将对象视为 ExpandoObject 时,我会看到底层字典中的所有键和值(包括空值)。但是,如果我尝试通过动态引用访问它们,则任何具有相应空值的键都不会显示在对象的动态视图中。当我尝试通过动态引用上的属性语法访问它时,我得到一个 ArgumentNullException。

我知道我可以通过直接使用 ExpandoObject、添加一堆尝试捕获、将 expando 映射到具体类型等来解决这个问题,但这首先违背了拥有这个动态对象的目的。如果某些属性具有空值,则使用动态对象的代码将正常工作。是否有更优雅或更简洁的方式来“取消隐藏”这些具有空值的动态属性?

这是演示我的“问题”的代码

dynamic dynamicRef = new ExpandoObject();
ExpandoObject expandoRef = dynamicRef;

dynamicRef.SimpleProperty = "SomeString";
dynamicRef.NulledProperty = null;

string someString1 = string.Format("{0}", dynamicRef.SimpleProperty);

// My bad; this throws because the value is actually null, not because it isn't
// present.  Set a breakppoint and look at the quickwatch on the dynamicRef vs.
// the expandoRef to see why I let myself be led astray.  NulledProperty does not
// show up in the …
Run Code Online (Sandbox Code Playgroud)

c# dynamic expandoobject

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

mac/linux `dotnet build` 找不到框架“.NETFramework..”的参考程序集

当尝试构建面向 net47 而不是 .netcore 或 .net std 的 Microsoft.NET.Sdk 样式项目时。将dotnet build给出有关缺少目标包的错误。msbuild 可以代替,但我更喜欢使用dotnet build. 有办法吗。

/usr/local/share/dotnet/sdk/2.1.200/Microsoft.Common.CurrentVersion.targets
(1179,5): error MSB3644: The reference assemblies for framework 
".NETFramework,Version=v4.7" were not found. To resolve this, install the
 SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or
 Targeting Pack installed. Note that assemblies will be resolved from the
 Global Assembly Cache (GAC) and will be used …
Run Code Online (Sandbox Code Playgroud)

.net linux macos dotnet-cli

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

.NET多目标与.NET标准和可移植库MSBuild 15

移植到.NET标准版本,您可能与可移植库相同,但支持的平台可能不是.

例如,.NET standard 1.6可能是最便宜的api可用的最低版本Profile47.Profile47支持.net 4.5或更高版本,nut .NET Standard 1.6仅支持4.6.1及更高版本!

使用新的msbuild 15 csproj/fsproj (也是VS2017)进行新的多目标定位是否可以同时编译可移植库.Net标准以使转换更容易?

c# f# portable-class-library visual-studio-2017 msbuild-15

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

从PCL项目生成.NET 4.0库,其中代码完全相同

这非常令人沮丧,我有一个可移植类库(PCL)库,它必须在配置文件中删除.NET 4.0才能访问正确的API"在PCL中".但是,这些API确实存在于.NET 4.0中,因此如果完全相同的代码在.NET 4.0项目中,则编译就可以了.

我想要一个最小的持续维护方法来重新编译这个PCL项目中的代码到.net 4.0,所以我可以将它包含在Nuget包中.

c# msbuild .net-4.0 portable-class-library

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

如何在VS项目中使用ntlm进行浏览器同步

我有一个asp.net mvc项目,我想在我的gulp文件中使用浏览器同步来自动注入css更改并在我对网站进行更改时重新加载页面.我之前已经在proxy模式下完成了这个,但是这个站点使用了无法代理的Windows身份验证(NTLM).有没有办法使浏览器同步工作?

authentication visual-studio browser-sync

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

如何共享对内存映射文件的只读访问权限

在使用内存映射文件尽可能快地在.net中IOException读取文件流时,由于两个读取同一文件的进程锁定了文件,因此我遇到了s 的问题。

有几种用于生成内存映射文件的工厂方法,如何允许共享readonly访问?

.net c# memory-mapped-files

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