如何从 net462 目标 SDK 项目中引用 System.Windows.Forms
How to reference System.Windows.Forms from a net462 targeting SDK project
是否有可能从面向 net462
的 Sdk 项目 (VS 2017) 中引用 System.Windows.Forms
?类似于:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net462</TargetFrameworks>
...
</PropertyGroup>
<PackageReference Include="System.Windows.Forms" Version="4.0.0" />
...
或者概括一下问题:驻留在 GAC 中的系统库如何从 Sdk 项目中使用?根据 this discussion 看来它不是开箱即用的支持。
让我感到困惑的部分是,定位 net462
给人的印象是可以访问 full 框架。但是,如果 GAC 程序集是一个问题,那么框架就不再是 "full" 了。因此,我的问题。
以下为我编译:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net462</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Reference Include="System.Windows.Forms" />
</ItemGroup>
</Project>
using System.Windows.Forms;
namespace ClassLibrary1
{
public class Class1
{
public Class1()
{
var form = new Form();
}
}
}
注意:您可以像在 Framework 项目中一样添加这些引用,而不是直接编辑项目文件,方法是右键单击解决方案资源管理器中的依赖项,然后选择添加引用。单击程序集,然后单击框架,然后 select 所需的程序集。
是否有可能从面向 net462
的 Sdk 项目 (VS 2017) 中引用 System.Windows.Forms
?类似于:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net462</TargetFrameworks>
...
</PropertyGroup>
<PackageReference Include="System.Windows.Forms" Version="4.0.0" />
...
或者概括一下问题:驻留在 GAC 中的系统库如何从 Sdk 项目中使用?根据 this discussion 看来它不是开箱即用的支持。
让我感到困惑的部分是,定位 net462
给人的印象是可以访问 full 框架。但是,如果 GAC 程序集是一个问题,那么框架就不再是 "full" 了。因此,我的问题。
以下为我编译:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net462</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Reference Include="System.Windows.Forms" />
</ItemGroup>
</Project>
using System.Windows.Forms;
namespace ClassLibrary1
{
public class Class1
{
public Class1()
{
var form = new Form();
}
}
}
注意:您可以像在 Framework 项目中一样添加这些引用,而不是直接编辑项目文件,方法是右键单击解决方案资源管理器中的依赖项,然后选择添加引用。单击程序集,然后单击框架,然后 select 所需的程序集。