标签 .NET 下的文章

目标计算机上的 Visual Studio 远程调试器无法重新连接到此计算机。身份验证失败。

此问题非常头疼,搞了一上午,需要注意以下问题:

首先请将访问安全策略从仅来宾改为经典(控制面板->管理工具->本地安全策略->本地策略->安全选项->网络访问:本地账号的共享与安全模型)。某些时候开启的防火墙会引起比较大的访问问题,建议关闭防火墙

确保本地和调试机器当前系统登录的账号和密码一样

安装Visual Studio 2010的远程调试器。在VS2010的安装ISO里面搜索rdbgsetup,里面有三个架构版本的安装包,x86、x64、和ia64。

rdbgsetup

安装是根据您调试的程序架构版本,而不是操作系统架构版本。比如在x64的Win10调试Any CPU的.NET程序,那么需要安装x86的。如果安装运行了错误架构开启调试的时候VS会提示:

Visual Studio 远程调试监视器(MSVSMON.EXE)的 64 位版本不能用于调试 32 位进程或 32 位转储。请改用 32位版本。

.NET编译错误:未能找到程序集“*”。请检查磁盘上是否存在该程序集。 如果您的代码需要此引用,则可能出现编译错误。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: 未能解析此引用。未能找到程序集“System.Windows.Forms.TreeListView, Version=1.0.3945.28878, Culture=neutral, processorArchitecture=MSIL”。请检查磁盘上是否存在该程序集。 如果您的代码需要此引用,则可能出现编译错误。
用于 SearchPath“D:\tunps.com\FakesAssemblies”。
已考虑使用“D:\tunps.com\FakesAssemblies\System.Windows.Forms.TreeListView.winmd”,但它不存在。
已考虑使用“D:\tunps.com\FakesAssemblies\System.Windows.Forms.TreeListView.dll”,但它不存在。
已考虑使用“D:\tunps.com\FakesAssemblies\System.Windows.Forms.TreeListView.exe”,但它不存在。
用于 SearchPath“{TargetFrameworkDirectory}”。
已考虑使用“C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Windows.Forms.TreeListView.winmd”,但它不存在。
已考虑使用“C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Windows.Forms.TreeListView.dll”,但它不存在。
已考虑使用“C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Windows.Forms.TreeListView.exe”,但它不存在。
用于 SearchPath“{Registry:Software\Microsoft\.NETFramework,v4.0,AssemblyFoldersEx}”。
已考虑 AssemblyFoldersEx 位置。
用于 SearchPath“{AssemblyFolders}”。
已考虑使用“C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies\System.Windows.Forms.TreeListView.winmd”,但它不存在。
已考虑使用“C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies\System.Windows.Forms.TreeListView.dll”,但它不存在。
已考虑使用“C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies\System.Windows.Forms.TreeListView.exe”,但它不存在。
已考虑使用“c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\System.Windows.Forms.TreeListView.winmd”,但它不存在。
已考虑使用“c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\System.Windows.Forms.TreeListView.dll”,但它不存在。
已考虑使用“c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\System.Windows.Forms.TreeListView.exe”,但它不存在。
用于 SearchPath“{GAC}”。
已考虑使用“System.Windows.Forms.TreeListView, Version=1.0.3945.28878, Culture=neutral, processorArchitecture=MSIL”,但未在 GAC 中找到它。
用于 SearchPath“{RawFileName}”。
已考虑将“System.Windows.Forms.TreeListView, Version=1.0.3945.28878, Culture=neutral, processorArchitecture=MSIL”视为文件名,但它不存在。
用于 SearchPath“bin\Debug\”。
已考虑使用“bin\Debug\System.Windows.Forms.TreeListView.winmd”,但它不存在。
已考虑使用“bin\Debug\System.Windows.Forms.TreeListView.dll”,但它不存在。
已考虑使用“bin\Debug\System.Windows.Forms.TreeListView.exe”,但它不存在。
AssemblyFoldersEx 位置:“{Registry:Software\Microsoft\.NETFramework,v4.0,AssemblyFoldersEx}”
C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\
C:\Program Files (x86)\Common Files\microsoft shared\VSTT\10.0\UITestExtensionPackages
C:\Program Files\Reference Assemblies\Microsoft\VSTO40\v4.0.Framework\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Office14\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Common\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SharePoint\PublicAssemblies\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v4.0\
c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v4.0\
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\2052\
c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\2052\
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Itanium\2052\
c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\2052\
C:\Program Files (x86)\Reference Assemblies\Microsoft\VBPowerPacks\v10.0\
C:\Program Files (x86)\Microsoft SDKs\RIA Services\v1.0\Libraries\Server\
c:\Program Files (x86)\Microsoft Visual Studio 10.0\ReportViewer\
c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\
c:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies\
C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\3.0\Runtime\v4.0\Type Providers\
C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\3.0\Runtime\v4.0\
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VSTSDB\
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v2.0\Assemblies\
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\ReportViewer\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SharePoint\PublicAssemblies\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v2.0\
c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v2.0\
C:\Program Files (x86)\Reference Assemblies\Microsoft\VBPowerPacks\v10.0\
c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v2.0\
C:\Program Files (x86)\Microsoft SDKs\Microsoft Sync Framework\v1.0\Runtime\ADO.NET\V2.0\x64\
c:\Program Files (x86)\Microsoft Visual Studio 10.0\ReportViewer\
c:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\PublicAssemblies\
C:\Program Files (x86)\Microsoft Chart Controls\Assemblies
C:\Program Files (x86)\Microsoft SDKs\Microsoft Sync Framework\v1.0\Runtime\x86\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Blend\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Blend\
生成失败。

已用时间 00:00:00.26
========== 全部重新生成: 成功 0 个,失败 1 个,跳过 0 个 ==========

在编译.NET工程后报错:未能解析此引用。,.NET编译器会在所有搜索路径(SearchPath)搜索忘了发现没有需要的应用库的时候报这个错误。如果您编译的是Debug版本的程序,将应用库放到工程目录D:\tunps.com\bin\Debug下即可解决此问题。

Win8 Win8.1离线安装.NET框架3.0

不知道什么原因,在Win8、Win8.1中,不管是在控制面板里面勾选.NET Framework 3.5,还是安装netfx35.exe都需要从微软官网获取安装文件,在网速慢得掉渣的公司显得很捉急。

不过有个好办法,可以离线安装.NET3,需要准备Windos 8安装光盘或者是iso文件即可。

插入光盘,或挂载好iso之后(假设挂载到D盘)

然后右击开始菜单(Win + X)的左下角,选择-命令提示符(管理员)

然后输入如下命令

dism.exe /online /enable-feature /featurename:NetFX3 /Source:D:\sources\sxs

命令成功完成后就安装好了。

.net版本关系

一下是各个版本的安装包大小:

1.0sp3 9.6MB
1.1 23.1MB
2.0sp2  23.8MB
3.0sp1  50.33MB
3.5sp1  231MB
4.0 48.11MB

其中4.0的48.11MB是Client Profile的大小,事实上4.0有300多MB,3.5之所以比4.0大很多是因为3.5集成了之前2.0,3.0的所有东西。4.0没有集成,估计是面向win 7了(win7默认安装3.5),所以就没有集成之前的版本。且我们可以把3.0,3.5理解为2.0的升级版,4.0和2.0是独立的两个版本,也就是2.0编译的程序在安装了4.0的机子上无法运行。

微软发布了 Visual Studio 2010 和 .NET Framework 4.0 的Beta 2测试版,微软往Framework 4.0里又塞了很多新东西,有的确实不错,不过有的还是感觉有点粗糙,还在实验阶段,实用性不强。

简单回顾下历史,.Net Framework 1.1其实是个试验品,.Net Framework真正走向成熟其实从2.0开始的,之后的Framework 3,Framework 3.5其实都是基于Framework 2的扩充。Framework 3 + Framework 3 SP1除了修正了一些Framework 2的bug之外,主要的扩展是加了3W框架,分别是WPF,WCF,WWF。F3.5和F3类似,在修正之前的Bug之外,主要的扩展是:LINQ,WF,WCF,Add-in(今后会被MEF替代)。Framework 3.5 SP1,又添了几个新东东:MVC,Dynamic Data,Entity Framework,Data Services等。

当然这里面我们也不能忽略了Framework 3在语言上进行的改进,例如Linq,Lambda,扩展函数,var类型的使用等等。

那我们看看Framework 4.0又给我们带来了什么?

.NET Framework 4与 Framework 3.5 SP1并行工作。在旧版的Framework中可以运行的应用程序,将继续能够运行在.NET Framework 4上。

在Visual Basic和C #语言中有所创新,例如声明lambdas 、隐线continuations 、动态调度、并命名/可选参数等。

在ADO.NET实体框架中增加了许多新的功能,通过提高抽象层次,从而简化开发人员的关系数据库的程序。这些新功能包括:持续忽略、POCO支持、延迟加载,测试驱动开发的支持、功能模型以及新的LINQ运营商等。

一、以下是ASP.NET中的改进 :

改进JavaScript用户界面模板和AJAX中的数据绑定功能;

改进ASP.NET的图表控制;

二、以下是WPF中的改进:

在WPF中增加Windows 7多触控、ribbon控制、任务栏扩展功能支持;

在WPF中增加Surface 2.0 SDK支持;

新的业务线控制,包括图表控制,智能编辑,数据网格,以及其他能够提高“建立数据中心的应用程序”的开发者经验的控制。

提高性能和可扩展性;

在文字、像素布局、本地化和互操作性中添加可视化改进;

三、Windows Workflow(WF)中的改进让开发者能够更好地控制工作流程,具体改进如下:

改善活动规划模型;

改进设计体验;

一个新的流程建模方式;

扩大调色板的活动范围;

工作流程规则一体化;

新邮件相关的功能。

四、.NET框架还为基于WF的工作流程提供重大的性能改进:

改进Windows通讯基础( WCF )构架,例如流服务相关支持,双向通信的持久性等。

.NET框架4还提供了新的WCF功能,例如服务发现、路由器服务、简化配置、REST支持、诊断和性能提升等。