问题标签 [target-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
25 浏览

asp.net - Asp.NET web app 坚持加载 .NET 2.0

我有一个非常简单的项目,突然想要加载 .NET 版本 2

包含中的<compilation>标签web.configtargetFramework="4.6.1"

项目属性下的Target框架也设置为4.6.1

但 IISExpress 实例显示版本 2

在此处输入图像描述

0 投票
2 回答
2970 浏览

c# - net47 中的 System.Net.Http

我在 Windows 上有一个普通的类库,使用 .NET 4.7

我想包括web-push-csharp

该软件包列出了 2 个可接受的依赖项(Newtonsoft Json 和 BouncyCastle)。它还想安装Microsoft.Net.Http。我不知道为什么。我不需要它。我的目标框架带有一个非常好的System.Net.Http参考。由于该 Microsoft 软件包有一个其他依赖项列表,这些依赖项与我链中更高级别的其他依赖项发生冲突,因此这是一个巨大的不便。为什么我要包含一个我不需要的包?

net47现在我认为这不应该是一个问题,去克隆网络推送包存储库,将我的目标框架放入其中......这是正确的,如果没有外部*.Net.Http参考,你无法为目标框架编译。然而,我的Create New Project.NET 4.7 项目已经提供了这样的参考,而根本没有触及 nuget。

仅使用 NewtonsoftJson 和 BouncyCastle 将所有包文件复制到新的 ClassLibrary1 中效果很好。

我在这里想念什么?为什么 .NET Framework 从 4.5 到 4.6 失去了它的 System.Net.Http?为什么没有可用的 FrameworkTarget,我可以说“这很好,我有一个完整的 4.7”?

除了克隆存储库并从中创建一个普通的 4.7 类库供我使用之外,还有其他选择吗?


附加信息:

我克隆了 web-push-csharp 存储库并添加了一个新的目标框架net47,而不依赖于Microsoft.Net.Http

这会导致多个编译错误:

错误 CS0234 命名空间“System.Net”中不存在类型或命名空间名称“Http”(您是否缺少程序集引用?) WebPush(net47)


解决方案

对于阅读这篇文章并寻找解决方案的任何人:在测试之后,我将接受的答案合并到一个 fork 的分支中,并向维护者发送了一个Pull 请求,以便它可以在原始包中使用。

0 投票
0 回答
32 浏览

asp.net - ASP.NET 网站代码已更改 - 错误 503 和一个神秘的错误页面弹出

我有一个 ASP.NET 网站,我不认识的人访问了该网站。我的代码已以这样的方式更改,每当我在浏览器中打开系统的任何页面时,都会弹出一个带有错误消息的简单 HTML 页面。

检查浏览器页面上的网络详细信息,告诉我每次尝试运行我的应用程序时都会返回状态代码 503。我的应用程序没有显示通常的错误消息,而是向我显示了这个 HTML 页面,其中包含我之前提到的错误消息。

我尝试在整个解决方案中搜索神秘 HTML 页面的名称,并尝试查看它被包含在哪里,但没有以它的名称命名的条目。

我也检查了 IIS 设置,但它们似乎没问题。

出现的页面而不是我尝试打开的任何页面,被命名为 app_offline.htm,我在任何脚本或文件中都看不到它的提及。

我无法弄清楚它适合在哪里。任何解决方案都会非常有帮助。

** 尝试在 Visual Studio 2008 中构建时,也无法识别 targetFramework 属性。尝试重新安装 .NET Framework 并再次注册 IIS。不工作!

请帮忙!!

0 投票
1 回答
1895 浏览

asp.net-mvc - targetFramework 4.5.2 上的 IIS 8.5 错误

我在 windows server 2012 R2 和 IIS 8.5 上遇到问题。我的 asp.net 应用程序在 webconfig 行出现错误,例如无法识别的属性“targetFramework”。

已安装 .NET Framwework 4.5.2 并且来自 iis 的应用程序池正在使用 NET CLR v.40xxx

知道为什么吗?

0 投票
1 回答
2457 浏览

vb.net - 无法更新 NuGet 包

使用 VS2015 我最近将我使用的插件 ActiveReports 更新为新版本。以前我的应用程序设置为网络框架 4.0,ActiveReports 的新更新至少需要网络框架 4.5,所以我更改了项目以使用该版本。

我现在在构建项目时收到以下错误:

“某些 NuGet 包是使用与当前目标框架不同的目标框架安装的,可能需要重新安装。有关更多信息,请访问http://docs.nuget.org/docs/workflows/reinstalling-packages。受影响的包:Microsoft。 Bcl,Microsoft.Net.Http"

我一直在寻找解决这个问题的各种建议,但都没有奏效。我从工具> NuGet 包管理器> 包管理器控制台尝试的最后一个导致以下消息:

PM> Update-Package 尝试收集与项目“我的项目”相关的多个包的依赖关系信息,针对“.NETFramework,Version=v4.5”尝试解决多个包的依赖关系。解决操作安装多个包 解决成功但未执行任何操作 没有可用的新更新。项目“我的项目”的当前包源中没有可用的包更新

0 投票
1 回答
97 浏览

fluent-assertions - Fluent Assertions 目标框架

我已经在单元测试项目上安装了 Fluent Assertions v.3 并且一切都很好,直到我不得不将它更新到 v.5。之后我得到:

Obj 不包含“ShouldBeEquivalentTo”的定义,并且找不到接受“Obj”类型的第一个参数的扩展方法“ShouldBeEquivalentTo”(您是否缺少 using 指令或程序集引用?)

我在https://www.nuget.org/packages/FluentAssertions上看到它需要 .NET 4.5,我在 packages.config 上进行了设置:

在 csproj 上如下:

但我仍然遇到同样的错误。我做错了什么?感谢帮助。

0 投票
1 回答
72 浏览

.net-core - Sonarlint dotnetcore2 多个目标框架给出重复警告

我将 SonarLint 用于 dotnetcore 2 项目,该项目也针对 net461。每个目标框架都会报告每个警告,从而导致重复警告。

我试图通过向分析器包 ref 添加条件来解决此问题,但这不起作用:

有没有办法只为 1 个目标框架设置 sonarlint?

例子: 重复警告示例

0 投票
1 回答
540 浏览

c# - 来自 Swagger 和 CastleWindsor 的 Azure 运行时错误

我在部署应用程序时遇到问题。我会尽力提供尽可能多的信息。

该 api 项目通过 Swashbuckle 和 Castle Windsor 使用了 Swagger。

当通过 SwaggerConfig.cs 在 SwaggerConfig.cs 中启用 Swagger 时, [assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")] 我们得到以下异常: Method not found: 'Void Swashbuckle.Application.SwaggerDocsConfig.RootUrl(System.Func`2<System.Net.Http.HttpRequestMessage,System.String>)'.

这是完整的注册电话,以防相关

如果我们禁用 swagger(通过删除程序集属性),则应用程序在 Castle Windsor 启动时开始失败,并出现以下错误:

Method 'Create' in Type 'XXX.XXX.XXX.CastleWindsor.WindsorCompositionRoot' from assembly 'xxx.xxx.Backend, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.'

这是 WindsorConfig.cs 的 Configure() 方法

当我们将解决方案中的共享库从 PCL 升级到 .net 标准 2 时,就会出现问题。这反过来意味着我们必须将解决方案中的所有其他项目升级到 .net 4.7.1(解决方案中有一个 UWP 应用程序,这是我们最初的升级目标,这意味着我们必须升级库,但我离题了) ,所以总结一下,这个问题发生在 4.7.1 升级。

该应用程序通过 Bamboo w/ msbuild & msdeploy 部署到 Azure。我们确信二进制文件和 web.config 与开发同步,因为我们已经通过 FTP 手动部署它们以确保它们。在重新上传之前,我通过 FTP 删除了所有二进制文件,以确保没有遗留程序集。

我已经验证 Kudu 中的 Azure 应用程序显示正确的版本以支持 4.7.1,如此处所述:https ://github.com/Azure/app-service-announcements/issues/63

未运行的应用部署到 Azure 中应用服务的虚拟目录 (/api)。主网站 (on /) 是静态的,并使用 Angular 访问 API。

我已经确认 / 和 /api 项目中的 web.config 正在显示 <compilation targetFramework="4.7.1" /> <httpRuntime targetFramework="4.7.1" />

包版本如下(我们在目标框架升级后执行了nuget重新安装): <package id="Castle.Core" version="3.3.0" targetFramework="net471" /> <package id="Castle.Windsor" version="3.3.0" targetFramework="net471" /> <package id="Castle.Windsor.Lifestyles" version="0.4.0" targetFramework="net471" /> <package id="Swashbuckle" version="5.3.2" targetFramework="net471" /> <package id="Swashbuckle.Core" version="5.3.2" targetFramework="net471" />

当我尝试升级到 4.7.1(对于另一个依赖项)时,我之前在开发环境中遇到过这个问题,但是这次开发工作没有错误,只是现在部署到 Azure 时才失败。此应用服务的 azure 门户中的 .net 框架版本显示 4.7

现在,我认为问题实际上不是我们用来初始化 Swagger 和/或 Castle Windsor 的代码,它更可能与框架版本或不匹配的程序集版本有关,因为该应用程序在我的开发机器上运行而没有错误,但我已经不知道接下来要尝试什么了。

0 投票
0 回答
3547 浏览

.net - VS Code C# 扩展报告缺少 .NETFramework,Version v4.5

我的意图是在 VS Code (Win10) 中运行我从 GitHub 下载的 C# 项目,因为我没有安装 Visual Studio 的选项。我是第一次这样做,我没有 C# 经验。

首先,我安装了 C# (OmniSharp) 扩展。其次,我打开了项目文件夹。

一旦我这样做,C# 扩展就会尝试启动 OmniSharp 服务器。几秒钟后,我收到错误消息:

在此处输入图像描述

日志显示:

[失败]:OmniSharp.MSBuild.ProjectLoader 未找到框架“.NETFramework,Version=v4.5”的参考程序集。要解决此问题,请为此框架版本安装 SDK 或 Targeting Pack,或者将您的应用程序重新定位到已安装 SDK 或 Targeting Pack 的框架版本。请注意,程序集将从全局程序集缓存 (GAC) 中解析,并将用于代替引用程序集。因此,您的程序集可能无法正确定位于您想要的框架。


我已经安装了 .NET Core 2.1 SDK (v2.1.300) 和 .NET Framework 4.7.2 开发包。

跑步dotnet --info节目:

.NET Core SDK (gemäß "global.json"):版本:2.1.300 提交:adab45bf0c

Laufzeitumgebung:操作系统名称:Windows 操作系统版本:10.0.16299 操作系统平台:Windows RID:win10-x64 基本路径:C:\Program Files\dotnet\sdk\2.1.300\

主机(用于支持):版本:2.1.0 提交:caa7b7e2ba

.NET Core SDK 安装:2.1.300 [C:\Program Files\dotnet\sdk]

.NET Core 运行时安装:Microsoft.AspNetCore.All 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All] Microsoft.AspNetCore.App 2.1.0 [C:\Program Files\dotnet\shared\ Microsoft.AspNetCore.App] Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]


注册表显示以下内容:

在此处输入图像描述


接下来我尝试<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>将 .csproj 文件中的值更改为 v4.7.2 但无济于事。


我不知道出了什么问题。
任何帮助深表感谢。谢谢。

0 投票
1 回答
725 浏览

xamarin.forms - 项目 App.Droid 无法使用 TargetFrameworkVersion v8.1 构建,因为它不受支持

尝试构建 Xamarin.Android 项目 (Xamarin.Forms) 时遇到此问题

项目 App.Droid 无法使用 TargetFrameworkVersion v8.1 构建,因为它不受支持。请更改您的 Xamarin.Android 项目以针对受支持的 API 版本。

在此处输入图像描述

我该如何解决这个问题?
我想我已经安装了我需要的 SDK,截图在这里

在此处输入图像描述