问题标签 [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.
asmx - 将 .net framework 4.5 或更高版本添加到我的 vs 2017
几个月前,我正在使用 vs 2019 创建我的应用程序,包括 Web 应用程序。我曾经在我的本地主机和服务器上发布它们,我没有问题。然后我不得不降级到vs 2017,我面临很多麻烦。我创建了一个 asmx 网络服务并尝试在我的 iis 服务器上发布它,但我收到此错误:“如果您正在编译版本,提供程序选项中的 'compilerVersion' 属性的值必须是 'v4.0' 或更高版本.NET Framework 4.0 或更高版本。要为 .NET Framework 3.5 或更早版本编译此 Web 应用程序,请从 Web.config 文件的元素中删除“targetFramework”属性。” 我打开了我的 web.config 文件,但编译标签中没有 targetframework 属性:
我从所有标签中删除了“Version=3.5.0.0”属性,但仍然相同。所以我尝试在 vs 中更改我的目标框架,但在其中找到的最高版本是 .NET 框架 3.5。我尝试安装 4.5 版,但我收到一条消息,告诉我我的机器上已经有此版本或更高版本,因此无法安装。现在我该怎么办?
提前致谢。
visual-studio - 如何列出 Visual Studio 中给定解决方案的所有项目的所有目标框架?
给定 Visual Studio 中打开的解决方案,我如何快速检查解决方案中的各个项目具有哪些目标框架?是否有一个解决方案范围的视图来显示每个项目所针对的目标框架,或者有多少项目针对每个框架版本的聚合视图?
我知道我可以单独检查每个项目(在属性窗口或csproj
文件本身上),但是在包含 100 多个项目的解决方案中,这是不可行的。
此外,我知道我可能可以在根文件夹中的文件内进行某种正则表达式搜索csproj
,但我想知道 Visual Studio 中是否有内置的东西来提供这些数据。
vb.net - 使用 .NET 5 的 Visual Basic 项目的高 DPI 模式错误
在我的错误列表中出现错误:“表单”不是“Windows”的成员。当我添加目标框架名字对象 (TFM) 时会发生此错误。
之前(没有错误)
<TargetFramework>net5.0-windows</TargetFramework>
之后(发生错误)
<TargetFramework>net5.0-windows10.0.19041.0</TargetFramework>
这是按照此处的说明:https ://docs.microsoft.com/en-us/windows/apps/desktop/modernize/desktop-to-uwp-enhance
这样做的目的是获得对“Windows.Storage.ApplicationData”API 的访问权限。
我的项目是一个 Windows 窗体应用程序(Visual Basic | Windows | 桌面)
临时解决方法是注释掉“Windows.Forms.Application...”行。但这显然会影响 HighDPIMode。
通过使用 Windows Forms App 并以 .NET 5 为目标创建一个新项目,可以轻松重现该错误。当项目打开时,单击解决方案中的应用程序,它应该会打开一个 Project Sdk 窗口。将 TFM 更改为<TargetFramework>net5.0-windows10.0.19041.0</TargetFramework>
并构建项目。
任何人都可以提供有关如何解决错误的帮助或指导吗?但仍然可以访问 WinRT API 和高 DPI 模式。
谢谢!
visual-studio - 在 Visual Studio/msbuild 中,一个目标框架的构建事件如何依赖于另一个?
我正在一个 .net 6 项目中构建多个目标框架:net461 和 net6.0。两个目标框架按预期在 Visual Studio 中同时构建。奇怪的是,我的 net6.0 构建后事件依赖于 net461 构建后事件。我还没有找到一种方法让一个目标框架的 msbuild 目标依赖于另一个目标框架的那些目标。所以我不能确保构建后事件以正确的顺序执行。
在查看了 msbuild 中影响构建目标顺序和依赖关系的机制后,我没有找到答案。我几乎要在我的构建中生成和等待锁定文件,但希望不需要。有任何想法吗?
为什么我的 net6.0 构建取决于我的 net461 构建:我在 .net 6 中使用 COM 向旧版 COM 客户端公开功能。这可行,但目前没有工具可以为我需要的 .net 核心生成 TLB 文件。(regasm.exe 适用于 .net 框架,但不适用于 .net 核心。)一种解决方法是在 .net 框架中构建相同的 COM 类/接口(可能是存根),然后生成 TLB 文件。这就是我所做的,然后在我的 net6.0 构建后事件中使用它。
dependencies - NuGet 包依赖版本说明
在 NuGet 包的 .nuspec 文件中,包依赖项是基于每个目标框架指定的。例如,在System.Collections.NonGeneric包中,这里是它的 TF 依赖项:
它当然不包含所有 TFM,所以我的问题是:如果我的调用应用程序针对 .NET Framework 4.6.1 (.NET Standard 1.4) 会发生什么?由于 .NET Standard 1.4 >= 1.3,是否仍需要下载 6 个 System.* 包?或者因为我没有专门针对 .NET Standard 1.3 TFM,所以我的项目没有依赖项?感谢您的澄清。
.net - 构建 .NET 5 类库时出错 - NETSDK1136
在构建之前运行良好的 .NET 5 应用程序时出现以下错误
使用 Windows 窗体或 WPF 时,目标平台必须设置为 Windows(通常通过在 TargetFramework 属性中包含“-windows”)
我知道这可以通过添加-windows来解决
但我不想走那条路,如果没有这个,我团队中的其他开发人员也可以正常工作
无论如何我可以在不修改项目文件的情况下解决这个问题
.net - 目标框架什么时候需要在 nuget 和消费项目之间匹配,什么时候不需要?
有一些 nuget 包,其中dll
s 只存在于一个目标框架中,比如这个:
无论我为消费项目选择哪个目标框架 - 例如net48
, netcoreapp3.1
, net5.0-windows
-net6.0-windows
它都将始终使用net40
文件夹中的内容。
我最近使用上面列出的四个目标框架从一个项目中创建了一个 nuget,这导致在 nuget 包中创建了以下文件夹结构:
出于兼容性原因,我必须将该net48
版本用于我的所有消费项目的目标net48
或更高版本。所以我刚刚从我的 nuget 中删除了netcoreapp3.1
,net5.0-windows7.0
和net6.0-windows7.0
文件夹来获取
,但随后是使用目标框架的消费项目netcoreapp3.1
,net5.0-windows
或者net6.0-windows
抱怨它找不到命名空间、类等。
所以在这种情况下,nuget 和 project 之间的目标框架确实需要匹配。
什么时候?我怎么能影响这个?
我的目标是创建一个 nuget 包,其中只包含一个包含 s 的子文件夹lib
,dll
以便
- 没有具有以下目标框架的项目
net48
可以使用它 - 所有具有目标框架
net48
或更新的项目都可以使用它。