Tag: .net framework version

编译Release和Debug会生成不同的IL代码+不同的机器代码吗?

我听说在Release模式下编译生成的优化代码比在Debug模式下生成,这很好。 但这是IL的优化吗? 一旦CLR运行它,它在机器代码中吗? 是否与在Release和Debug中编译的PE不同的元数据结构? 谢谢

创建一个独立的exe而无需安装.NET框架

我是学生,目前我正在公司实习。 这个实习是关于分析项目。 对于这个项目,我做了一个演示给营销总监。 我演示的是一个在Visual Studio 2010中使用Windows窗体在c#中创建的简单项目以及与Access数据库的连接。 所以现在我必须在一个演示文稿中向这位导演展示这个演示,但是在演示之后,导演想要在他的计算机上安装该项目,以便他可以尝试使用它。 现在的问题是,这家公司的计算机没有.NET framework 4.0,而且这里的计算机受到如此保护,以至于我们无法安装任何新的东西。 要安装一些东西,你必须经历一个需要数周的程序。 我已经浏览了互联网,但我找到的是如何安装.NET框架。 有没有可能的方法,我可以创建一个独立的exe而无需安装.NET框架? 请帮忙!

将.NETFramework 4.5 dll添加到.NETCore项目中

我有一个以前生成的DLL与一些企业代码,我想在.NETCore项目中重用。 但是,由于原始DLL是使用.NETFramework 4.5创建和编译的,因此我无法直接添加dll作为参考。 我创建了一个包含我的dll的nuget包,如下所示。 之后,我可以将这样的包添加到项目中。 但是,我有以下错误: “依赖MyAssembly.dll不支持框架.NETCoreApp,Version = v1.0” 我已经尝试引用.NETCore.Portable.Compatibility但我不认为这是正确的方法。 如何在我的代码中使用此DLL? 这是我添加Nuget包后我的project.json的样子。 { “version”: “1.0.0-*”, “dependencies”: { “MyAssembly.dll”: “1.0.0”, “Microsoft.EntityFrameworkCore”: “1.0.0”, “Microsoft.EntityFrameworkCore.SqlServer”: “1.0.0”, “Microsoft.NETCore.Portable.Compatibility”: “1.0.1”, “NETStandard.Library”: “1.6.0” }, “frameworks”: { “netcoreapp1.0”: { “imports”: [ “dnxcore50”, “portable-net451+win8” ] } } }

错误CS1056:在tfs持续集成过程中运行msbuild的意外字符’$’

我有一个框架针对.NET Framework 4.6.1 ,作为tfs上持续集成过程的一部分,我们创建了一个Build Solution任务,以确保代码正确编译。 现在,TFS服务器具有最新版本的.Net Famework 4.6.2 。 在寄存器中,这是框架的Release键的值 在所有其他操作系统版本上:394806 => .NET Framework 4.6.2 但是当构建运行时,它会出现此错误: Error CS1056: Unexpected character ‘$’ 我不想用string.Format替换字符串插值来解决这个问题,请提供另一种解决方法来解决它。 我是否需要在TFS服务器上安装其他东西?

无法加载文件或程序集System.Net.Http版本4.1.1.0

我正在将Net Framework 4 dll移植到Net Core。 移植我的unit testing项目时,我得到一个运行一些特定测试的exception(不是全部)。 System.IO.FileLoadException:无法加载文件或程序集’System.Net.Http,Version = 4.1.1.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a’或其依赖项之一。 定位的程序集的清单定义与程序集引用不匹配。 (HRESULTexception:0x80131040) 这是我的dll的project.json { “version”: “1.0.0-*”, “dependencies”: { “log4net”: “2.0.7”, “NETStandard.Library”: “1.6.1”, “Newtonsoft.Json”: “9.0.1”, “StackExchange.Redis”: “1.2.1” }, “frameworks”: { “netstandard1.6”: { “imports”: “dnxcore50” } } } 这是unit testing项目的Packages.config

错误:无法生成临时类(result = 1)…在Web服务上调用方法时

错误:无法生成临时类(result = 1)…在Web服务上调用方法时。 我正在使用VS 2008 C#ASP.NET 3.5。 我正在为我的应用程序调用远程Web服务。 Server Error in ‘/’ Application. Server was unable to process request. —> Unable to generate a temporary class (result=1). error CS2001: Source file ‘C:\WINDOWS\TEMP\6sbkwt2d.0.cs’ could not be found error CS2008: No inputs specified Description: An unhandled exception occurred during the execution of the current web request. Please […]

.NET模拟.NETFramework 2 VS .NETFrameWork 4中的ASP.NET模拟

我们在.NetFramework 2中有一个ASP.NET站点(在IIS 7.5中使用App Pool 2 Classic),我们使用Basic Authenticate和Form Authenticate混合身份Form Authenticate 。 IIS中的配置是: 并且匿名身份validation中的特定用户名为: Guest 。 当用户使用Admin等其他用户名登录时,我们使用模拟: string Token = GetSpecificTokenOfCurrentUser(); System.Security.Principal.WindowsIdentity WinUser = (WindowsIdentity) HttpContext.Current.Application[“User_”+Token]; WinUser.Impersonate(); 所以每一件事都是完美的,直到我们将网站升级到.NetFramework 4并在.NET 4中添加很多function到网站,我们认为我们有一个新的问题。 问题是用户使用Admin登录并同时打开一些页面(3-4),就像在新标签中快速打开一样,用户在某些情况下不会被模拟。 就像第一个页面正确模拟Admin但另一个页面没有模仿,仍然有Guest用户。 这太奇怪了,我们在身份validation部分没有任何变化。 更改是我们升级到.NetFrameWork 4和App Pool是.NetFrameWork 4 – Classic。 我们在.Net 2版网站上进行了测试。 一切都很好,但我们将App Pool更改为.NetFrameWork 4并显示问题。 那么问题是.NetFramework 4 App Pool对Impersonate发生了什么变化? 我们错过了什么? 有什么建议吗?

.NET 3.5中的RegistryKey.OpenBaseKey有哪些替代方法?

我一直在使用安装程序包并使用RegistryKey.OpenBaseKey来处理自定义操作,这些操作可以打开和从64位注册表添加/删除密钥或从MSI包中删除32位注册表,但这需要我在运行我的安装程序之前,使用引导程序或其他东西在目标计算机上安装.NET Framework 4,因为OpenBaseKey仅在.NET Framework 4中引入。理想情况下,我想仅针对.NET Framework 3.5并且仍然能够修改OpenBaseKey中的64位或32位注册表配置单元; 然后我不需要.NET 4和安装它的开销。 对于那些不想让.NET 4成为先决条件的人来说, OpenBaseKey还有其他选择吗? 可能是像P /调用某种WinAPI方法这样的东西吗? 我不确定它会采取什么措施。