คำถามติดแท็ก .net-4.0

. NET Framework เวอร์ชัน 4.0 ใช้สำหรับคำถามที่เกี่ยวข้องกับ. NET Framework 4.0 โดยเฉพาะ สำหรับคำถามเกี่ยวกับ. NET Framework โดยทั่วไปให้ใช้แท็ก. net

10
ประโยชน์ที่แท้จริงของ ExpandoObject คืออะไร
ExpandoObjectระดับที่เพิ่มเข้ามา .NET 4 ช่วยให้คุณสามารถตั้งค่าคุณสมบัติพลลงบนวัตถุที่รันไทม์ มีข้อได้เปรียบอะไรบ้างในการใช้ a Dictionary<string, object>หรือแม้กระทั่งHashtableจริงๆ? เท่าที่ฉันสามารถบอกได้นี่คืออะไร แต่เป็นตารางแฮชที่คุณสามารถเข้าถึงได้ด้วยไวยากรณ์ที่กระชับขึ้นเล็กน้อย ตัวอย่างเช่นทำไมจึงเป็นเช่นนี้: 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
App.Config Transformation สำหรับโครงการที่ไม่ใช่โครงการ Web ใน Visual Studio?
สำหรับแอปพลิเคชันที่ทำงานบนเว็บ Visual Studio 2010 เรามีคุณสมบัติการแปลงค่าซึ่งเราสามารถบำรุงรักษาไฟล์กำหนดค่าหลายไฟล์สำหรับสภาพแวดล้อมที่แตกต่าง แต่คุณสมบัติเดียวกันนี้ไม่สามารถใช้ได้กับไฟล์ App.Config สำหรับ Windows Services / WinForms หรือ Console Application มีวิธีแก้ปัญหาที่มีอยู่ตามที่แนะนำที่นี่: การใช้เวทมนตร์ XDT เพื่อ App.Config อย่างไรก็ตามมันไม่ตรงไปตรงมาและต้องใช้หลายขั้นตอน มีวิธีที่ง่ายกว่าในการทำเช่นเดียวกันกับไฟล์ app.config หรือไม่?

17
'การกำหนดค่าเพิ่มเติม' จำเป็นสำหรับการอ้างอิงแอสเซมบลีโหมดผสม. NET 2.0 ในโครงการ. NET 4.0 ได้อย่างไร
ฉันมีโครงการที่ฉันต้องการใช้ฟีเจอร์. NET 4.0 บางตัว แต่ข้อกำหนดหลักคือฉันสามารถใช้เฟรมเวิร์ก System.Data.SQLite ซึ่งคอมไพล์ด้วย 2.X ฉันเห็นการกล่าวถึงความเป็นไปได้เช่นคำตอบที่ยอมรับได้ที่นี่แต่ฉันไม่เห็นวิธีการบรรลุเป้าหมายนี้อย่างแท้จริง เมื่อฉันลองและเรียกใช้โครงการ 4.0 ของฉันในขณะที่อ้างอิงแอสเซมบลี 2.X ฉันได้รับ: แอสเซมบลีโหมดผสมถูกสร้างขึ้นจากเวอร์ชัน '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 เป็นเท็จ …
401 c#  asp.net  iis  .net-4.0  iis-7.5 

4
ความแตกต่างระหว่าง Microsoft .NET 4.0 full Framework และ Client Profile
ตัวติดตั้งแบบเต็มของ Microsoft .NET Framework 4.0 (32- และ 64 บิต) คือ 48.1 MB และตัวติดตั้งโปรไฟล์ลูกค้าคือ 41.0 MB ไฟล์การติดตั้งที่คลายบีบอัดคือ 237 MB และ 194 MB ตามลำดับและเมื่อติดตั้งแล้วไฟล์เหล่านี้คือ 537 MB และ 427 MB นี่คือความแตกต่างจาก 110 MB แพคเกจทั้งสองแตกต่างกันอย่างไร? เมื่อใดจึงควรติดตั้งโปรไฟล์ลูกค้าแทน. NET Framework เต็ม

28
ASP.NET MVC บน IIS 7.5
ฉันใช้ Windows 7 Ultimate (64 บิต) โดยใช้ Visual Studio 2010 RC ฉันเพิ่งตัดสินใจที่จะมี VS run / debug แอปของฉันบน IIS แทนที่จะเป็นเซิร์ฟเวอร์ dev ที่มาพร้อมกับมัน อย่างไรก็ตามทุกครั้งที่ฉันพยายามเรียกใช้แอป MVC ฉันได้รับข้อผิดพลาดต่อไปนี้: HTTP Error 403.14 - ถูกห้ามเว็บเซิร์ฟเวอร์ได้รับการกำหนดค่าให้ไม่แสดงรายการเนื้อหาของไดเรกทอรีนี้ รายละเอียด ข้อมูลผิดพลาด โมดูล DirectoryListingModule การแจ้งเตือน ExecuteRequestHandler ตัวจัดการข้อผิดพลาด StaticFile รหัส 0x00000000 ร้องขอ URL http: // localhost: 80 / mySite / เส้นทางกายภาพ C: …
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
วิธีการเริ่มต้นรายการ Tuples ได้อย่างง่ายดาย?
ฉันรักtuples ช่วยให้คุณสามารถจัดกลุ่มข้อมูลที่เกี่ยวข้องเข้าด้วยกันได้อย่างรวดเร็วโดยไม่ต้องเขียน struct หรือคลาสของมัน สิ่งนี้มีประโยชน์มากในขณะที่ refactoring รหัสที่แปลเป็นภาษาท้องถิ่นมาก การเริ่มต้นรายการของพวกเขา แต่ดูเหมือนว่าซ้ำซ้อน var tupleList = new List<Tuple<int, string>> { Tuple.Create( 1, "cow" ), Tuple.Create( 5, "chickens" ), Tuple.Create( 1, "airplane" ) }; ไม่มีวิธีที่ดีกว่านี้หรือ ฉันจะรักวิธีการแก้ปัญหาตามสายของที่initializer พจนานุกรม Dictionary<int, string> students = new Dictionary<int, string>() { { 111, "bleh" }, { 112, "bloeh" }, { 113, …

27
เหตุใดฉันจึงได้รับ 'แอสเซมบลี' * .dll 'ต้องมีการเซ็นชื่ออย่างแน่นหนาเพื่อที่จะทำเครื่องหมายว่าเป็นข้อกำหนดเบื้องต้น'
ฉันกำลังพยายามรวบรวม excel addin ของฉันโดยใช้ C # 4.0 และเริ่มได้รับปัญหานี้เมื่อสร้างโครงการของฉันใน Visual Studio เป็นสิ่งสำคัญที่จะบอกคุณว่าฉันไม่เคยมีปัญหานี้มาก่อน อะไรจะทำให้สิ่งนี้เกิดขึ้น

11
ฉันจะเรียกใช้ PowerShell ด้วยรันไทม์. NET 4 ได้อย่างไร
ฉันกำลังปรับปรุงสคริปต์ PowerShell ที่จัดการแอสเซมบลี. NET บางตัว สคริปต์ถูกเขียนขึ้นสำหรับแอสเซมบลีที่สร้างจาก. NET 2 (เฟรมเวิร์กรุ่นเดียวกันกับที่ PowerShell รันด้วย) แต่ตอนนี้จำเป็นต้องทำงานกับแอสเซมบลี. NET 4 เช่นเดียวกับแอสเซมบลี. NET 2 เนื่องจาก. NET 4 รองรับการใช้งานแอพพลิเคชั่นที่สร้างขึ้นจากเฟรมเวิร์กที่เก่ากว่าดูเหมือนว่าทางออกที่ง่ายที่สุดคือการเปิด PowerShell ด้วยรันไทม์. NET 4 เมื่อฉันต้องเรียกใช้แอสเซมบลี. NET 4 ฉันจะเรียกใช้ PowerShell ด้วยรันไทม์. NET 4 ได้อย่างไร

4
โทเค็นการยกเลิกในตัวสร้างงาน: เพราะอะไร
ตัวSystem.Threading.Tasks.Taskสร้างบางตัวใช้CancellationTokenเป็นพารามิเตอร์: CancellationTokenSource source = new CancellationTokenSource(); Task t = new Task (/* method */, source.Token); สิ่งที่ทำให้ฉันงุนงงเกี่ยวกับเรื่องนี้ก็คือไม่มีทางจากภายในร่างกายวิธีการที่จะได้รับจริงผ่านโทเค็น (เช่นไม่มีอะไรเหมือนTask.CurrentTask.CancellationToken) ต้องให้โทเค็นผ่านกลไกอื่น ๆ เช่นวัตถุสถานะหรือถ่ายในแลมบ์ดา ดังนั้นจุดประสงค์ในการให้โทเค็นการยกเลิกในตัวสร้างใช้เพื่ออะไร

2
'useLegacyV2RuntimeActivationPolicy' ทำอะไรในการกำหนดค่า. NET 4
ในขณะที่แปลงโครงการที่ใช้ SlimDX และดังนั้นจึงมีรหัสที่ไม่มีการจัดการเป็น. NET 4.0 ฉันพบข้อผิดพลาดต่อไปนี้: แอสเซมบลีโหมดผสมถูกสร้างขึ้นจากเวอร์ชัน 'v2.0.50727' ของรันไทม์และไม่สามารถโหลดในรันไทม์ 4.0 โดยไม่มีข้อมูลการกำหนดค่าเพิ่มเติม Googling around ให้โซลูชันแก่ฉันซึ่งเพิ่มไปยัง config ของแอพพลิเคชั่น: <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup> </configuration> คำถามของฉันคืออะไรกำลังuseLegacyV2RuntimeActivationPolicyทำอะไร ฉันหาเอกสารเกี่ยวกับเรื่องนี้ไม่พบ

11
เมื่อใดที่ควรใช้ TaskCompletionSource <T>
AFAIK ทั้งหมดก็รู้ก็คือว่าในบางจุดของมันSetResultหรือSetExceptionวิธีการที่จะถูกเรียกตัวไปดำเนินการTask&lt;T&gt;สัมผัสผ่านTaskคุณสมบัติ กล่าวอีกนัยหนึ่งมันทำหน้าที่เป็นผู้อำนวยการสร้างTask&lt;TResult&gt;และเสร็จสมบูรณ์ ฉันเห็นตัวอย่างที่นี่ : หากฉันต้องการวิธีในการรัน Func แบบอะซิงโครนัสและมีภารกิจเพื่อแสดงการดำเนินการนั้น 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ได้ …

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อย่างไร

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.