0

我正在使用 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));

    }

我在 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="" />

4

1 回答 1

1

问题与Caught Exception. 有两件事同时发生。首先,您已在

Visual Studio 异常调试->异常->公共语言运行时异常已检查”)。

VS 中的这个选项会停止代码执行,即使它们被正确处理。其次,文件 Oauth2Client.pdb 与失败的 dll 一起存在。

我们只是重构了代码,因此如果您获得了最新版本,VersionOne.SDK.NET.APIClient您将不会再看到Caught Exception任何内容。

因此,解决方案可能是以下之一:

  • (首选)使用最新版本的 VersionOne.SDK.NET.APIClient
  • 删除 pdb 文件。
  • 配置异常以不停止代码执行(保持未选中)。
于 2014-06-02T13:56:53.837 回答