https://github.com/peteroupc/CBORリポジトリをデモhello.csプログラムで利用しようとしています。しかし、私は次の問題に行き着きます。
1) 属性PeterO.Cborは他の色のように反映されません。以下のコードを参照してください。
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using PeterO;
using PeterO.Cbor; // Why this attribute is in different color?
namespace Hello
{
public class HelloWorld
{
public static void Main(string[] args)
{
Console.WriteLine ("Hello World!");
var cbor1 = CBORObject.NewMap()
.Add("item", "any string")
.Add("number", 42)
.Add("map", CBORObject.NewMap().Add("number", 42))
.Add("array", CBORObject.NewArray().Add(999f).Add("xyz"))
.Add("bytes", new byte[] { 0, 1, 2 });
// The following converts the map to CBOR
byte[] bytes = cbor1.EncodeToBytes();
// The following converts the map to JSON
string json = cbor1.ToJSONString();
System.Console.WriteLine(json);
Console.ReadKey();
}
}
}
2) hello.cs プログラムの実行中にエラーが発生しました。以下のスナップショットから同じものを見つけてください。
使用したコマンド:mcs hello.cs -out:hello
コンパイル エラー出力メッセージ:
hello.cs(8,7): error CS0246: The type or namespace name `PeterO' could not be found. Are you missing an assembly reference?
Compilation failed: 1 error(s), 0 warnings
追加情報:
1) Dotnet-sdk と Visual Studio Code のインストール手順は次のとおりです。
Dotnet-sdk installation steps:
a) wget https://download.visualstudio.microsoft.com/download/pr/f01e3d97-c1c3-4635-bc77-0c893be36820/6ec6acabc22468c6cc68b61625b14a7d/dotnet-sdk-3.1.402-linux-x64.tar.gz
b) mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-3.1.402-linux-x64.tar.gz -C $HOME/dotnet
c) export DOTNET_ROOT=$HOME/dotnet
d) export PATH=$PATH:$HOME/dotnet
Visual Studio Code installation steps:
a) wget https://az764295.vo.msecnd.net/stable/2af051012b66169dde0c4dfae3f5ef48f787ff69/code_1.49.3-1601661857_amd64.deb
b) sudo dpkg -i code_1.49.3-1601661857_amd64.deb && sudo apt-get update
2) Ubuntu、Dotnet、および Visual Studio Code のバージョンの詳細:
a) Ubuntu Command: lsb_release -a
Output:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.5 LTS
Release: 18.04
Codename: bionic
b) Dotnet Command: dotnet --info
Output:
.NET Core SDK (reflecting any global.json):
Version: 3.1.402
Commit: 9b5de826fd
Runtime Environment:
OS Name: ubuntu
OS Version: 18.04
OS Platform: Linux
RID: ubuntu.18.04-x64
Base Path: /home/$USER/dotnet/sdk/3.1.402/
Host (useful for support):
Version: 3.1.8
Commit: 9c1330dedd
.NET Core SDKs installed:
3.1.402 [/home/$USER/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.App 3.1.8 [/home/$USER/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.8 [/home/$USER/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
c) Visual Studio Code details:
Version: 1.49.3
Commit: 2af051012b66169dde0c4dfae3f5ef48f787ff69
Date: 2020-10-02T17:56:11.027Z
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: 8.3.110.13-electron.0
OS: Linux x64 5.4.0-48-generic
3) dotnet restore コマンドの出力:
Path: /path/to/repo/CBOR/
Command: dotnet restore
Output:
Determining projects to restore...
/path/to/repo/CBOR/CBOR.csproj : error NU1108: Cycle detected. [/path/to/repo/CBOR.sln]
/path/to/repo/CBOR/CBOR.csproj : error NU1108: PeterO.Cbor -> PeterO.Cbor (>= 4.2.0). [/path/to/repo/CBOR.sln]
そこで、/path/to/repo/CBOR/CBOR.csproj ファイル内の PackageId PeterO.Cborを PackageId Peter Cborに置き換えました。次に、以下のようなビルド出力が得られました。
Path: /path/to/repo/CBOR/
Command: dotnet restore
Output:
Determining projects to restore... Restored
/path/to/repo/CBOR/CBOR.csproj (in 306 ms).
Restored /path/to/repo/CBORTest/CBORTest.csproj (in 319 ms).
6 of 8 projects are up-to-date for restore.
私はビジュアルスタジオコードとドットネットフレームワークも初めてです。
誰かがこの問題について私を修正し、どこが間違っていたのか教えてください.