如何解决#if net48由于缺少组件而导致编译器错误
我正在努力将应用程序迁移到.netcore,并希望保留.Net Framework 4.8可用的本地库之一。但是,它使用System.Web.Security中的组件,因此我使用compiler directives将那些组件留给了最新框架以外的目标框架版本使用。在.net core中,无论如何我将不需要这些功能。但是,编译器将指令中的代码视为不存在,如以下示例所示:
// A project with <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
namespace Framework {
public class A {
public B Test; // Error,B is unkNown.
} // Class A
#if net48
public class B {
}
#endif
} // Namespace Framework
具有以下SDK样式的csproj的项目:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFrameworks>net48</TargetFrameworks>
<PlatformTarget>Anycpu</PlatformTarget>
</PropertyGroup>
</Project>
因此,我什至还没有针对netstandard2.0,而只是在net48中存在一个问题。如果您认为提供单个目标框架要求XML元素是唯一的,那么我也尝试过这样做,没什么区别。
解决方法
框架属性需要大写:int i;
char array[] = "abcdefghijklmnopqrstuvwxyz";
for (i = 0; array[i] != 'q'; ++i)
; // The ";" forms a null statement as the loop's body
// After the loop,"i" will be the index of the letter q
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。