環境:Centos 7
已經下載安裝.NET Core 1.1
Microsoft .NET Core Shared Framework Host Version : 1.1.0 Build : 928f77c4bc3f49d892459992fb6e1d5542cb5e86 Usage: dotnet [common-options] [[options] path-to-application]
問題:
通過VS2015 update3 創建的項目,默認是NetcoreApp,Version1.0。發布release后,拷貝到linux。cd到程序目錄,運行“dotnet myapp.dll",報:
[root@master PublishOutput]# dotnet ConsoleApp1.dll The specified framework 'Microsoft.NETCore.App', version '1.0.1' was not found. - Check application dependencies and target a framework version installed at: /opt/dotnet/shared/Microsoft.NETCore.App - The following versions are installed: 1.1.0 - Alternatively, install the framework version '1.0.1'.
分析:
1、centos安裝dotnet 過程
sudo yum install libunwind libicu curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835019 sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet sudo ln -s /opt/dotnet/dotnet /usr/local/bin
下載dotnet.tar.gz 后,解壓程序包,並使用“ln"命令把解壓文件dotnet連接到目錄”/usr/local/bin",使得在輸入“dotnet"命令時,調用”/opt/dotnet/dotnet"
2、查看“/opt/dotnet”目錄
[root@master PublishOutput]# cd /opt/dotnet
[root@master dotnet]# ls
dotnet host LICENSE.txt sdk shared ThirdPartyNotices.txt
"cd shared" 目錄只有Micorsoft.NETCore.App,版本只有1.1.0
[root@master dotnet]# cd shared [root@master shared]# ls Microsoft.NETCore.App [root@master shared]# cd Microsoft.NETCore.App [root@master Microsoft.NETCore.App]# ls 1.1.0
思考:在安裝dotnet過程中,也只是解壓文件,能否通過在Micorsoft.NETCore.App目錄下,添加netcore1.0.1的1.0.1目錄文件就可以解決呢
行動:
1、http://www.microsoft.com/net/download/linux 下載netcore1.0.1,release版本,解壓文件。
2、拷貝Micorsoft.NETCore.App目錄下的1.0.1目錄文件到“/opt/dotnet/shared/Micorsoft.NETCore.App/"
3、cd到應用程序目錄,測試"dotnet myapp.dll",如:
[root@master ~]# cd PublishOutput
[root@master PublishOutput]# ls
ConsoleApp1.deps.json ConsoleApp1.pdb
ConsoleApp1.dll ConsoleApp1.runtimeconfig.json
[root@master PublishOutput]# dotnet ConsoleApp1.dll
hello world
輸出了“hello world",問題解決。