2016-12-02 15 views
0

我是C#新手,請耐心等待。我正在使用dotnet命令行工具運行最新的dotnet Docker容器,並試圖使用RestSharp對遠程API執行REST請求。我設法得到RestSharp添加到我的project.json和「DOTNET恢復」沒有錯誤信息完成,但是當我嘗試在控制器實際使用RestSharp,我得到這個錯誤:在Linux上編寫C#程序時缺少'Uri'類型

/path/to/MyController.cs(18,30): error CS0012: The type 'Uri' is defined in an assembly that is not referenced. You must add a reference to assembly 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. Compilation failed.

我知道這是由於RestSharp發生的,因爲當我註釋掉所有RestSharp代碼時,錯誤消息將消失。

我在想這可能與我的project.json文件有關,我將在本郵件末尾粘貼該文件。對於我們這些使用Linux的人,我們無法訪問NuGet,我們必須手動創建我們的project.json文件。這個最初是由yeoman dotnet的腳手架創建的。

感謝您的幫助!

 

    { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "version": "1.1.0", 
      "type": "platform" 
     }, 
     "Microsoft.AspNetCore.Mvc": "1.0.1", 
     "Microsoft.AspNetCore.Routing": "1.0.1", 
     "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
     "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", 
     "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 
     "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0", 
     "Microsoft.Extensions.Configuration.Json": "1.0.0", 
     "Microsoft.Extensions.Configuration.CommandLine": "1.0.0", 
     "Microsoft.Extensions.Logging": "1.0.0", 
     "Microsoft.Extensions.Logging.Console": "1.0.0", 
     "Microsoft.Extensions.Logging.Debug": "1.0.0", 
     "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 
     }, 

     "tools": { 
     "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final", 
     "Microsoft.DotNet.Watcher.Tools": "1.1.0-preview4-final" 
     }, 

     "frameworks": { 
     "netcoreapp1.0": { 
      "dependencies": { 
      "RestSharp": "105.2.3", 
      "System.Net.Http": "4.3.0", 
      "System.Runtime": "4.3.0" 
      }, 
      "frameworkAssemblies": { 
      }, 
      "imports": [ 
      "net452", 
      "dotnet5.6", 
      "portable-net45+win8" 
      ], 
     } 
     }, 

     "buildOptions": { 
     "emitEntryPoint": true, 
     "preserveCompilationContext": true 
     }, 

     "runtimeOptions": { 
     "configProperties": { 
      "System.GC.Server": true 
     } 
     }, 

     "publishOptions": { 
     "include": [ 
      "wwwroot", 
      "**/*.cshtml", 
      "appsettings.json", 
      "web.config" 
     ] 
     }, 

     "scripts": { 
     "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 
     }, 

     "tooling": { 
     "defaultNamespace": "WebAPIApplication" 
     } 
+0

好吧......任何想法如何,我可以重新配置我的project.json緩解這一問題?我並沒有結婚netcoreapp1.0,因爲我剛開始編寫這個應用程序。我現在唯一真正需要的就是RestSharp。 – ArkieCoder

+0

RestSharp v106支持.NET Standard 2.0,因此如果您的代碼在.NET Framework下與RestSharp 105一起使用 - 它也將與.NET Core 2一起使用。 RestSharp.NetCore軟件包不是來自RestSharp團隊,我們不支持。它也沒有被更新,並且所有者沒有對消息作出響應,包的源代碼也沒有發佈。 –

回答

0

project.json工作,我能夠使用RestSharp與netcoreapp1.1 -

{ 
    "dependencies": { 
    "Microsoft.NETCore.App": { 
     "version": "1.1.0", 
     "type": "platform" 
    }, 
    "Microsoft.AspNetCore.Mvc": "1.1.0", 
    "Microsoft.AspNetCore.Routing": "1.1.0", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0", 
    "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0", 
    "Microsoft.Extensions.Configuration.Json": "1.1.0", 
    "Microsoft.Extensions.Configuration.CommandLine": "1.1.0", 
    "Microsoft.Extensions.Logging": "1.1.0", 
    "Microsoft.Extensions.Logging.Console": "1.1.0", 
    "Microsoft.Extensions.Logging.Debug": "1.1.0", 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0", 
    "RestSharp.NetCore": "105.2.4-rc4-24214-01" 
    }, 

    "tools": { 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final", 
    "Microsoft.DotNet.Watcher.Tools": "1.1.0-preview4-final" 
    }, 

    "frameworks": { 
    "netcoreapp1.1": { 
     "imports": [ 
     "dotnet5.6", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "buildOptions": { 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true 
    }, 

    "runtimeOptions": { 
    "configProperties": { 
     "System.GC.Server": true 
    } 
    }, 

    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "**/*.cshtml", 
     "appsettings.json", 
     "web.config" 
    ] 
    }, 

    "scripts": { 
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 
    }, 

    "tooling": { 
    "defaultNamespace": "WebAPIApplication" 
    } 
}