Questions tagged «.net-4.0»

.NET Framework的4.0版。用于与.NET Framework 4.0特别相关的问题。通常,对于.NET Framework的问题,请使用.net标记。

10
ExpandoObject的真正好处是什么?
添加到.NET 4 的ExpandoObject类使您可以在运行时将属性任意设置到对象上。 与使用Dictionary<string, object>甚至是哈希表相比,这有什么好处吗?据我所知,这不过是一个哈希表,您可以使用更简洁的语法来访问它。 例如,为什么这样: dynamic obj = new ExpandoObject(); obj.MyInt = 3; obj.MyString = "Foo"; Console.WriteLine(obj.MyString); 与以下内容相比确实更好,或有很大不同: var obj = new Dictionary<string, object>(); obj["MyInt"] = 3; obj["MyString"] = "Foo"; Console.WriteLine(obj["MyString"]); 什么真正的优势是通过使用ExpandoObject而不是只使用一个任意字典类型,比不是很明显,您使用的类型是怎么回事在运行时确定的其他获得。
587 c#  .net  .net-4.0  c#-4.0 

13
在Visual Studio中不是Web项目的项目是否进行了App.Config转换?
对于基于Visual Studio 2010 Web的应用程序,我们具有“配置转换”功能,通过这些功能,我们可以为不同的环境维护多个配置文件。但是该功能不适用于Windows Services / WinForms或控制台应用程序的App.Config文件。 这里有建议的解决方法:将XDT magic应用于App.Config。 但是,这并不简单,需要很多步骤。有没有更简单的方法来实现相同的app.config文件?

17
引用.NET 4.0项目中的.NET 2.0混合模式程序集,需要什么“附加配置”?
我有一个项目,我想在其中使用一些.NET 4.0功能,但核心要求是我可以使用针对2.X编译的System.Data.SQLite框架。我看到有可能提及此问题,例如此处接受的答案,但我看不出如何实际实现。 当我尝试在引用2.X程序集的同时尝试运行4.0项目时,我得到: 混合模式程序集是针对运行时的版本“ v2.0.50727”构建的,如果没有其他配置信息,则无法在4.0运行时中加载。 需要什么“附加配置”?

21
在生成服务器上找不到Microsoft.WebApplication.targets。您有什么解决方案?
尝试在构建服务器上构建项目会给我以下错误: Microsoft (R) Build Engine Version 4.0.30319.1 error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path …

12
检测到ASP.NET设置不适用于集成托管管道模式
我安装了DotNetOpenAuth SDK-3.4.5.10201.vsix,但无法正常运行。它在本地工作(当我以localhost运行时),但是当我尝试发布它时却无法正常工作。 我收到的IIS错误消息是 错误摘要 HTTP错误500.22-内部服务器错误 检测到ASP.NET设置不适用于集成托管管道模式。 和 Module ConfigurationValidationModule Notification BeginRequest Handler StaticFile Error Code 0x80070032 然后有一些解决问题的建议: 您可以尝试的事情: 将配置迁移到该 system.webServer/modules部分。您可以手动执行此操作,也可以通过在命令行中使用AppCmd进行操作-例如, %SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/"。使用AppCmd迁移应用程序将使其能够在集成模式下工作,并继续在经典模式和IIS的早期版本上工作。 如果确定可以忽略此错误,可以将其设置system.webServer/validation@validateIntegratedModeConfiguration 为false 来禁用它 。 或者,将应用程序切换到经典模式应用程序池-例如, %SystemRoot%\system32\inetsrv\appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool"。仅在无法迁移应用程序时才这样做。 (将“默认网站”和“经典.NET AppPool”设置为您的应用程序路径和应用程序池名称) 但是问题在于我没有访问ISS服务器的权限,因为我不是它的所有者。有什么办法解决这个问题?
401 c#  asp.net  iis  .net-4.0  iis-7.5 


28
IIS 7.5上的ASP.NET MVC
我正在使用Visual Studio 2010 RC运行Windows 7 Ultimate(64位)。我最近决定让VS在IIS上运行/调试我的应用程序,而不是在它附带的开发服务器上运行/调试。 但是,每次我尝试运行MVC应用程序时,都会出现以下错误: HTTP错误403.14-禁止将Web服务器配置为不列出此目录的内容。详细 错误信息 模块目录列表模块 通知ExecuteRequestHandler 处理程序StaticFile错误 请求代码0x00000000 网址 http:// localhost:80 / mySite / 物理路径C:\ myProject \ mySite \ 登录方法匿名登录 用户匿名 我default.aspx在目录中放置了一个文件,并收到以下错误: HTTP错误500.21-内部服务器错误处理程序“ PageHandlerFactory-Integrated”在其模块列表中包含错误的模块“ ManagedPipelineHandler” 我还没有采取其他任何步骤来使此工作正常进行吗? 注意:我在安装VS 2010 RC之后安装了IIS 7.5。我使用了Visual Studio 2010中MVC项目的“属性”中“ Web”选项卡下的内置“创建虚拟目录”按钮。我确保该应用程序正在使用ASP.NET 4 App Pool。 以下是我具有的IIS的已安装功能。
338 .net-4.0  iis-7.5 

3
.NET 4.0具有新的GAC,为什么?
%windir%\Microsoft.NET\assembly\是新的GAC。这是否意味着现在我们必须管理两个GAC,一个用于.NET 2.0-3.5应用程序,另一个用于.NET 4.0应用程序? 问题是,为什么?
300 .net  .net-4.0  gac 

9
如何轻松地初始化元组列表?
我爱元组。它们使您可以快速将相关信息分组在一起,而不必为其编写结构或类。在重构非常本地化的代码时,这非常有用。 但是,初始化它们的列表似乎有点多余。 var tupleList = new List<Tuple<int, string>> { Tuple.Create( 1, "cow" ), Tuple.Create( 5, "chickens" ), Tuple.Create( 1, "airplane" ) }; 有没有更好的办法?我希望有一个类似于Dictionary Initializer的解决方案。 Dictionary<int, string> students = new Dictionary<int, string>() { { 111, "bleh" }, { 112, "bloeh" }, { 113, "blah" } }; 我们不能使用类似的语法吗?


11
如何在.NET 4运行时中运行PowerShell?
我正在更新管理某些.NET程序集的PowerShell脚本。该脚本是为基于.NET 2(PowerShell运行时使用的框架的相同版本)构建的程序集编写的,但是现在需要与.NET 4程序集以及.NET 2程序集一起使用。 由于.NET 4支持运行针对较早版本的框架构建的应用程序,因此似乎最简单的解决方案是在需要针对.NET 4程序集运行时使用.NET 4运行时启动PowerShell。 如何在.NET 4运行时中运行PowerShell?

4
任务构造器中的取消令牌:为什么?
某些System.Threading.Tasks.Task构造函数将a CancellationToken作为参数: CancellationTokenSource source = new CancellationTokenSource(); Task t = new Task (/* method */, source.Token); 令我感到困惑的是,没有办法从方法主体内部真正获取传入的令牌(例如,没有类似的东西Task.CurrentTask.CancellationToken)。令牌必须通过某种其他机制提供,例如状态对象或在lambda中捕获。 那么在构造函数中提供取消令牌有什么目的呢?

2
.NET 4配置中的“ useLegacyV2RuntimeActivationPolicy”有什么作用?
将使用SlimDX(因此具有非托管代码)的项目转换为.NET 4.0时,我遇到以下错误: 混合模式程序集是针对运行时的版本“ v2.0.50727”构建的,如果没有其他配置信息,则无法在4.0运行时中加载。 谷歌搜索为我提供了解决方案,即将其添加到应用程序配置中: <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup> </configuration> 我的问题是,这是useLegacyV2RuntimeActivationPolicy怎么回事?我找不到有关它的任何文档。

11
什么时候应该使用TaskCompletionSource <T>?
AFAIK,它所知道的只是在某个时候,它的SetResult或SetException方法被调用以Task&lt;T&gt;通过其Task属性完成公开。 换句话说,它充当a Task&lt;TResult&gt;及其完成的生产者。 我在这里看到了示例: 如果我需要一种异步执行Func并有一个Task来表示该操作的方法。 public static Task&lt;T&gt; RunAsync&lt;T&gt;(Func&lt;T&gt; function) { if (function == null) throw new ArgumentNullException(“function”); var tcs = new TaskCompletionSource&lt;T&gt;(); ThreadPool.QueueUserWorkItem(_ =&gt; { try { T result = function(); tcs.SetResult(result); } catch(Exception exc) { tcs.SetException(exc); } }); return tcs.Task; } *如果我没有,可以使用Task.Factory.StartNew-但我确实有Task.Factory.StartNew。 题: 可有人请举例相关的情景解释直接到TaskCompletionSource 而不是一个假想中,我没有的情况 Task.Factory.StartNew?

5
如何将此foreach代码转换为Parallel.ForEach?
我有些困惑Parallel.ForEach。 是Parallel.ForEach什么,它的作用是什么? 请不要引用任何MSDN链接。 这是一个简单的例子: string[] lines = File.ReadAllLines(txtProxyListPath.Text); List&lt;string&gt; list_lines = new List&lt;string&gt;(lines); foreach (string line in list_lines) { //My Stuff } 如何用重写这个示例Parallel.ForEach?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.