dotnet run
(在 Windows 上)原因
warning CA1416: This call site is reachable on all platforms. 'WellKnownSidType.WorldSid' is only supported on: 'windows'.
我的程序设计为只能在 Windows 上运行。
我试图添加SupportedPlatform
到MyApp.csproj
,但没有运气。
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Authentication.Negotiate" Version="5.0.5" />
<PackageReference Include="System.DirectoryServices" Version="5.0.0" />
<SupportedPlatform Include="Windows"/>
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我怎样才能表明dotnet run
这个项目是仅限 Windows 的?
我得到了一个Unhandled Exception: System.NotSupportedException: Operation is not supported.
使用Ubuntu 11.10在Mono下引发的异常.
阅读财产有效.该文档可能表明,该方法不构成问题.
关于如何最好地处理或解决这种情况的任何想法?
我目前的解决方案相当尴尬,并没有解决通过System.Console-API设置窗口大小的问题:
const int defaultConsoleWindowWidth = 80;
const int defaultConsoleWindowHeight = 25;
if (pid != PlatformID.Unix && pid != (PlatformID)128) {
System.Console.WindowHeight = lastConsoleWindowHeight;
System.Console.WindowWidth = defaultConsoleWindowWidth;
}else{
//assume *NIX system
try {
var p = new Process();
p.StartInfo = new ProcessStartInfo(@"stty cols " + defaultConsoleWindowWidth + " rows " + lastConsoleWindowHeight, "-n")
{
UseShellExecute = false
};
p.Start();
p.WaitForExit();
}
catch …
Run Code Online (Sandbox Code Playgroud)