小编Gek*_*tek的帖子

按位运算等效于大于运算符

我正在研究一个函数,它基本上可以看到两个整数中的哪一个更大.传递的参数是232位整数.诀窍是允许的唯一运算符! ~ | & << >> ^(没有转换,除了signed int,*,/, - 等其他数据类型).

到目前为止,我的想法是^将两个二进制文件放在一起,以查看1它们不共享的值的所有位置.我想要做的就是取这个值并将1最左边的距离隔离开来.然后看看它们中哪一个具有该值.那个价值就会越大.(假设我们使用8位整数而不是32位).如果传递的两个值是0101101101101001 我用^它们得到的00100010.然后我想00100000用其他的话来做它01xxxxxx -> 01000000 然后&用第一个数字 !!结果并返回它.如果是1,则第一个#更大.

关于如何01xxxxxx -> 01000000或其他什么帮助的任何想法?

忘记注意:没有ifs,whiles,fors等......

c binary bit-manipulation

20
推荐指数
3
解决办法
3万
查看次数

MVC 6 IUrlHelper依赖注入

我想通过依赖注入使用IUrlHelper,以便能够使用其功能为不同的休息端点生成uris.我似乎无法弄清楚如何从头开始创建UrlHelper,因为它在MVC 6中发生了变化,而MVC并没有自动在IoC控制器中提供该服务.

设置是我的控制器接受api模型转换器类的内部模型,并使用IUrlHelper(通过Depenedency Injection).

如果有一个更好的替代IUrlHelper/UrlHelper,我可以用来为我的WebApi动作/控制器生成Uris,我愿意接受建议.

c# dependency-injection inversion-of-control urlhelper asp.net-core-mvc

11
推荐指数
2
解决办法
6189
查看次数

.net core(csproj)global.json'项目'等价物

使用.net core(project.json)我曾经通过将源代码的路径添加到projectsglobal.json中的字段来在nuget包和源代码之间切换.在我这样做之后,它将添加它可以在该路径中找到的所有项目,这些项目可以替换我引用的nuget包.

我使用了这个功能,因为我使用了自己的nuget包,但是我想在发布之前测试其他项目中的更改.但是一旦我切换到Sdk 1.0.0/VS 2017/csproj .net核心,这个功能似乎就消失了.

另一种方法是手动添加每个项目,手动切换引用(因为它们被分解为项目,nuget和sdk引用),然后将其全部切换回来.

任何想法或建议都会很棒.

更新: 听起来像csproj中没有等价物(如预期的那样),但现在有msbuild解决方法(从最初的VS 2017/.NET Core SDK 1.0.0版本开始)

csproj nuget .net-core asp.net-core

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

Asp.Net 5语义版本控制

似乎版本控制的工作方式与之前版本的.Net不同.project.json似乎使用了语法版本(我在网上看到的),格式为Major.Minor.Patch-Special.

  1. 这是否取代了Assembly版本的想法或添加到它?或者只是与Nuget一起使用.
  2. 如何在运行时访问该版本.我在Microsoft.Framework.Runtime包中遇到了Nuget.SemanticVersion对象,但我无法找到如何在代码中检索它.
  3. 是否有一种编程方式来在构建或自定义脚本上更新此值?

c# versioning asp.net semantic-versioning dnx

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

c中的按位溢出检查

我正在尝试编写两个函数来检查/防止 c 中的溢出(仅使用!~ | & ^ +)但无法得到它。第一个是某些二进制补码/有符号 int 将适合一定数量的位: fitsB(int x, int n) 其中是 int 和 n 是要使用的位的大小。还有一个函数,用于检查两个整数相加时是否不会溢出:overflowInt(int x, int y)。如果它们是无符号整数,我可以得到它,但负数只会让我更难。有谁知道怎么做?

也没有强制转换,整数总是 32 位

c operations bit-manipulation overflow

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

MSBuild或Bamboo错误签名clickonce应用程序

我有一个ClickOnce应用程序,我使用从Windows存储的证书签署清单(而不是程序集).在我的本地机器上的visual studio中,所有内容都很好.我有另一台计算机,我用于Bamboo集成测试,它无法正常工作.它在发布任务期间出现此错误:

错误MSB4044:"SignFile"任务未获得所需参数"CertificateThumbprint"的值.

我已经完成了研究,我看到的所有帖子都说需要将证书安装在正在构建的机器上.我已经这样做了.实际上,在同一台机器上我运行了一个可视化工作室构建/发布并且它工作正常,因此显然安装了证书.

另一个问题是我尝试使用cert文件引用而不是商店,它引起了其他问题.它使得在msbuild期间出现错误,即即使我关闭了程序集签名,也无法导入用于签署程序集的证书:

错误MSB3326:无法导入以下密钥文件:DummyKey.snk.密钥文件可能受密码保护.要更正此问题,请尝试再次导入证书或手动将证书导入当前用户的个人证书存储区.

这个文件没有密码,它被禁用,所以我不知道什么是错的.任何帮助都会很棒

c# msbuild certificate bamboo visual-studio

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

Dnx 4.5.1/Dnx Core 5.0模糊参考

在我和其他人的许多项目中,如果我使用的是另一个不同的asp.net5项目的对象,则会弹出一个不明确的引用错误.有趣的是,它仍然编译和工作,但没有intellisense,我的代码被红线覆盖.

这方面的一个例子是我有一个指向我的MVC项目的测试项目.当我尝试创建一个新的XController实例时,它将显示一个错误,它不知道哪个XController使用DNX 4.5.1或DNX 5.0.我知道那些是什么,但它不会让我选择,即使我觉得我不应该.再次,它的工作,只是令人沮丧.

我能让这个工作的唯一方法就是我只为我的MVC项目选择一个框架.我不喜欢这样做,因为我想知道dnxcore50是否不支持我在MVC应用程序中编写的内容.我只尝试在单元测试项目中使用一个框架但是没有用.

我想明确一点,我确实理解asp.net 5的东西是测试版,并且有很多错误.我想知道这是一个错误还是我只是做错了什么.

更新1:如果我有一个新的Asp.Net 5类库引用Asp.Net 5 Mvc项目,似乎只会出现问题.图书馆到图书馆的工作和mvc到图书馆也有效.

c# asp.net visual-studio-2015 dnx

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

动态IoC控制器解析ASP.NET 5

我正在尝试创建一个类似于Mvc的路由系统,其中用户创建类/控制器并将HTTP请求路由到它们.我掌握了所有基础知识,并且大多数情况下都使用反射.

当我尝试使用IoC /依赖注入/服务解析器时会出现问题.我希望人们能够创建一个注入服务的控制器(就像mvc一样),只需在构造函数中声明它们需要的内容并将它们添加到IoC容器中.我能够传递/使用System.IServiceProvider来调用我需要的控制器类型上的GetService(Type).除非我专门将控制器类型添加到IoC容器中,否则这不起作用.我不需要在Mvc中为IoC注册一个控制器,所以我确信有一个解决方法.

我试过使用反射来查找正在运行的程序集/ appdomain中的所有'ControllerBase'子类,并在启动时将它们添加到IServiceProvider/IServiceCollection中?但似乎转向ASP.NET 5/Dnx核心5似乎改变了appdomains和程序集的工作方式或访问方式.如何在没有用户注册每个控制器的情况下自动完成此任务的任何方向都会很棒.关于mvc如何做到这一点的任何信息也会很棒.

c# asp.net asp.net-mvc dnx asp.net-core

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