草庐IT

编译ffmpeg

全部标签

c# - 当泛型类型匹配采用该类型的重载方法时,Visual Studio 2015 不编译

我的项目在VS2013中编译但在VS2015中不编译。下面的代码重现了编译问题。Validator类实际上在第3方程序集中,因此我无法更改实现。require类是本地类,但我不想更改实现,因为我将不得不更改大量验证逻辑。下面是在VS2015中无法编译的代码。publicabstractclassValidator:Validator{publicoverridevoidDoValidate(objectobjectToValidate){}protectedabstractvoidDoValidate(TobjectToValidate);}publicabstractclassVal

c# - 使用 '== false' 而不是否定运算符时,内联变量声明不会编译

考虑以下片段:voidFoo(objectsender,EventArgse){if(!(senderisComboBoxcomboBox))return;comboBox.DropDownWidth=100;}相比于voidBar(objectsender,EventArgse){if((senderisComboBoxcomboBox)==false)return;comboBox.DropDownWidth=100;}包含Foo()的代码在.Net4.6.1中成功编译,而包含Bar()的代码导致Useofunassignedlocalvariable'comboBox'。在不讨论

c# - 编译器在传递方法时无法确定泛型类型

我在使用C#和泛型类型推断时遇到了问题。我想编写一个方法来传递具有任何类型的方法,但编译器无法推断我传入的方法的类型。编译器总是提示消息Expectedamethodwith'???TestFunc(???,???)'signature这是一个测试用例。usingSystem;publicclassExample{privateinterfaceITest{intTestFunc(stringstr,inti);}privateclassTest:ITest{publicintTestFunc(stringstr,inti){return0;}}publicstaticvoidMain

c# - 为什么 C# 编译器不自动推断此代码中的类型?

为什么C#编译器不推断FooExt.Multiply()的事实满足Functions.Apply()的签名?我必须指定一个类型为Func的单独委托(delegate)变量让代码工作......但似乎类型推断应该处理这个问题。我错了吗?如果是这样,为什么?编辑:收到的编译错误是:ThetypeargumentsformethodFirstClassFunctions.Functions.Apply(T1,System.Func,T2)'cannotbeinferredfromtheusage.Tryspecifyingthetypeargumentsexplicitlynamespace

c# - 可以将条件编译符号添加到 csproj.user 文件吗?

我正在VS2013中使用C#XamariniOS项目。我想添加一个条件编译符号而不影响任何其他人或不必进入配置管理器并说复制调试(主要是为了如果有人修改调试我不会错过更改)。我读过一些帖子说尝试将类似的内容添加到csproj.user文件中......$(DefineConstants);__MY_NEW_SYMBOL__...但这只会删除项目的所有其他符号。有没有办法修改csproj.user文件来实现这一点? 最佳答案 我发现这是一个非常古老的问题。我不确定是否有人真的在使用VS2013,但它在VS2017中工作,就像它在问题中

c# - 为什么 async 关键字在编译时会生成一个枚举器和附加结构?

如果我创建一个像下面这样的简单类:publicclassTestClass{publicTaskTestMethod(intsomeParameter){returnTask.FromResult(someParameter);}publicasyncTaskTestMethod(boolsomeParameter){awaitTask.FromResult(someParameter);}}并在NDepend中检查它,它表明TestMethod采取行动并成为asyncTask有一个为它生成的结构,带有一个枚举器、枚举器状态机和一些额外的东西。为什么编译器会生成一个名为TestClas

c# - 无法编译,因为 Visual Studio 正在使用我的 DLL

我在VisualStudio2008中有一个相当大的.NET2.0解决方案(151个项目)。当我在VS中进行构建(即使只是一个项目)时,我经常收到一条错误消息,提示它无法复制其中一个我的DLL程序集到输出目录,因为它正在使用中。我没有任何其他进程在后台运行或现有的调试session将使用此程序集。如果我打开ProcessExplorer并搜索此程序集名称,VisualStudio(devenv.exe)会作为唯一结果出现。查看结果VisualStudio出于某种原因将我的程序集加载为DLL。关闭解决方案并重新打开它并不能解决问题。我必须完全退出VS才能解决这个非常具有破坏性的问题。有谁

c# - 为什么 Reactive Extensions 在编译时向微软发送 HTTP GET?

我从这个站点下载了ReactiveExtensionsv1.0SP1的稳定版本http://msdn.microsoft.com/en-us/data/gg577610,我在.NetFramework3.5环境(VisualStudio2008)中使用它我尝试在一个项目中使用ReactiveExtensions,发现启动速度非常慢。转到LinqPad,我输入了以下“C#表达式”:(newint[0]).ToObservable()我还引用了System.Reactive.dll并导入了System.Reactive.Linq命名空间。当我运行它时,编译和运行需要12秒。我打开Proce

c# - 有没有办法让 .Net JIT 或 C# 编译器优化掉空的 for 循环?

Does.NETJIToptimizeemptyloopsaway?的跟进:下面的程序只运行一个空循环十亿次并打印出运行时间。在我的机器上需要700毫秒,我很好奇是否有办法让抖动优化空循环。usingSystem;namespaceConsoleApplication1{classProgram{staticvoidMain(){varstart=DateTime.Now;for(vari=0;i据我所知,答案是否定的,但我不知道是否有我可能没有尝试过的隐藏编译器选项。我已经确保在Release模式下编译并在没有附加调试器的情况下运行,但仍然需要700毫秒来运行这个空循环。我也尝试了N

C# 2.0 代码使用使用 C# 3.0 编译的程序集

这应该没问题,因为CLR实际上并没有改变?运行C#2.0代码的机器已经推出了.NET3.5。背景是我们有一个windows服务(用VS2005构建的.NET2.0exe,部署到~150台服务器)动态加载程序集(几乎像插件)来完成要求它的各种工作项目。每当我们推出新版本的总线逻辑时,我们只需将程序集放到FTP服务器上,Windows服务就会知道如何检查、获取和存储最新版本。现在使用VS2008和目标.NET2.0构建新程序集,我们知道它工作正常。但是,我们希望开始利用C#3.0语言功能(例如LINQ)并针对.NET3.5开发程序集,而无需构建和部署新版本的Windows服务。