C# 找不到文件…client_secrets.json

C# 找不到文件…client_secrets.json,c#,versionone,C#,Versionone,我正在使用VersionOne SDK将测试结果写入资产。然而,我在这个方法的第一行不断得到一个异常 Caught: "Could not find file 'C:\Users\solution\bin\Debug\client_secrets.json'." (System.IO.FileNotFoundException) Exception Message = "Could not find file 'C:\\Users\\solution\\bin\\Debug\\client_s

我正在使用VersionOne SDK将测试结果写入资产。然而,我在这个方法的第一行不断得到一个异常

Caught: "Could not find file 'C:\Users\solution\bin\Debug\client_secrets.json'." (System.IO.FileNotFoundException)  Exception Message = "Could not find file 'C:\\Users\\solution\\bin\\Debug\\client_secrets.json'.", Exception Type = "System.IO.FileNotFoundException", Exception WinRT Data = null  
显然,路径似乎没有使用
@
符号,因此路径中有两个斜杠。我如何才能找到它从何处获得此路径

class V1Tools
{

    public string TestRequest { get; set; }  
    internal EnvironmentContext Context;
    private readonly CLogger _logger;


    public V1Tools(ref DataObject masterData)
    {
        _logger = masterData.Logger;
        Context = new EnvironmentContext();
    }

    public IV1Configuration GetV1Configuration()
    {
        return Context.V1Configuration;
    }


    public void UpdateTestResults(string strTestId, string strActualResult)
    {
        var testId = Oid.FromToken(strTestId, Context.MetaModel);
        var query = new Query(testId);
        var assetType = Context.MetaModel.GetAssetType("Test");
        var addResults = assetType.GetAttributeDefinition("ActualResults");

        query.Selection.Add(addResults);
        var result = Context.Services.Retrieve(query);
        var test = result.Assets[0];
        var oldResult = GetValue(test.GetAttribute(addResults).Value);

        var time = DateTime.Now;
        const string format = "MMM ddd d HH:mm yyyy";
        test.SetAttributeValue(addResults, "<p>" + "\n" + oldResult + time.ToString(format) + "-->" + strActualResult + "</p>");
        Context.Services.Save(test);

        _logger.Log(Loglevel.Debug, test.Oid.Token, oldResult, GetValue(test.GetAttribute(addResults).Value));

    }
v1类工具
{
公共字符串TestRequest{get;set;}
内部环境;
专用只读阻塞器(记录器);
公共工具(参考数据对象主数据)
{
_记录器=主数据记录器;
Context=新环境Context();
}
公共IV1配置GetV1Configuration()
{
返回Context.v1配置;
}
public void updateTestResult(字符串strestId、字符串strActualResult)
{
var testId=Oid.FromToken(strestid,Context.MetaModel);
var query=新查询(testId);
var assetType=Context.MetaModel.GetAssetType(“测试”);
var addResults=assetType.GetAttributeDefinition(“实际结果”);
查询.选择.添加(添加结果);
var result=Context.Services.Retrieve(查询);
var测试=结果。资产[0];
var oldResult=GetValue(test.GetAttribute(addResults.Value));
var time=DateTime.Now;
常量字符串格式=“MMM ddd d HH:mm yyyy”;
test.SetAttributeValue(addResults,“”+“\n”+oldResult+time.ToString(格式)+“-->“+strActualResult+”

”; Context.Services.Save(测试); _Log(Loglevel.Debug、test.Oid.Token、oldResult、GetValue(test.GetAttribute(addResults.Value)); }
我正在App.config文件中使用以下命令设置用户名和密码:

<appSettings>
<add key="DebugFileName" value="C:\VersionOneAPIClientDebug.txt" />
<add key="V1Url" value="https://www12.v1host.com/myVersionOneAccount/" />
<add key="V1UserName" value="myUserName" />
<add key="V1Password" value="myPassWord" />
<add key="UseWindowsIntegratedAuth" value="false" />
<add key="ClientSettingsProvider.ServiceUri" value="" />


该问题与捕获的异常有关。同时发生两件事。首先,您已在中签入此属性

Visual Studio异常调试->异常->公共语言运行时异常已选中”)

VS中的此选项会停止代码执行,即使代码已正确处理。其次,文件Oauth2Client.pdb与出现故障的dll一起出现

我们刚刚重构了代码,因此如果您获得了最新版本的
VersionOne.SDK.NET.APIClient
,您将不会再看到
捕获的异常

因此,解决这个问题的方法可以是以下方法之一:

  • (首选)使用最新版本的VersionOne.SDK.NET.APIClient
  • 删除pdb文件
  • 将异常配置为不停止代码执行(保持两者均未选中)

哪一行导致异常?'var testId=Oid.FromToken(strestid,Context.MetaModel'是抛出异常的行。您如何构造API连接器?通过OAuth2连接时使用
client\u secrets.json
文件,默认位置在当前目录中。此文件可从VersionOne许可的应用程序屏幕获得,并应与
stor配对。)ed_credentials.json
,作为成功授予的结果获得。我正在使用App.config文件,但我是否应该执行以下操作…iSeries服务=新服务(元模型,新版本OnePiconneConnector(applicationURL+“rest-1.v1/”,凭据…并以那种方式传递我的凭据?