C# 获取未处理的异常:System.ArgumentNullException

C# 获取未处理的异常:System.ArgumentNullException,c#,.net,xml,visual-studio,jenkins,C#,.net,Xml,Visual Studio,Jenkins,我在运行控制台应用程序时遇到以下异常: 我在Jenkins服务器上面临一个构建问题(在发布模式下),该服务器正在远程机器上运行。 我正在处理命令行参数,我认为错误原因意味着运行exe时不会传递任何参数 unhandled Exception: System.ArgumentNullException: Value cannot be null. Parameter name: path at System.IO.StreamWriter..ctor(String path, Boo

我在运行控制台应用程序时遇到以下异常: 我在Jenkins服务器上面临一个构建问题(在发布模式下),该服务器正在远程机器上运行。 我正在处理命令行参数,我认为错误原因意味着运行exe时不会传递任何参数

    unhandled Exception: System.ArgumentNullException: Value cannot be null.
Parameter name: path
   at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)
   at System.IO.StreamWriter..ctor(String path, Boolean append)
   at VstoManifestGenerator.Program.WriteOutput(String entry, Object[] args) in C:\Dev\Client\VstoManifestGenerator\VstoManifestGenerator\Program.cs:line 318
   at VstoManifestGenerator.Program.Main(String[] args) in C:\Dev\Client\VstoManifestGenerator\VstoManifestGenerator\Program.cs:line 164
下面是我的命令行参数:

C:\Dev\Client\AddIns\Office\Word2010AddIn\bin\XTS.Office.AddIn.Word.dll Debug amd64
我在调试配置中的本地开发人员计算机上没有此问题,我没有找出导致此问题的原因

这里有人能帮我解决吗


谢谢。

调用
WriteOutput
时,堆栈跟踪提示尚未设置
\u outputfile

确保在调用
WriteOutput
之前对其进行初始化

注意:

字符串依赖;
试一试{
//这里抛出异常

dependency=“somepath”;//这是您在第一次(可能)调用
WriteOutput
(主)后,在
catch
(主)中调用
WriteOutput
时应该知道设置
\u输出文件
的时间,其中可能尚未设置
\u ouputfile
。我猜这是Stacktrace中的第164行?如果您告诉我们发生异常的是哪一行,会有所帮助。请使用F11逐步执行代码并使用F9设置断点。我按照您所说的做了。我发现当“Mage(string.Format(@)-Update”“{0}”“-Version{1}-FromDirectory”“{2}”时“,tempManifest,version,finfo.Directory.FullName”);”被调用。结果字符串变量包含以下字符串值“内部错误,请重试。此程序集由比当前加载的运行时更新的运行时生成,无法加载。(HRESULT的异常:0x801310B)。此字符串值作为WriteOutput()方法的参数传递。此外,当我在release cofiguration中运行同一应用程序时,它会引发“System.IndexOutoforAngeException:'索引超出数组边界'的异常“导致此问题的原因是什么?这些是不同的问题。您提到的第一个问题似乎是目标计算机上安装的dotnet framework的旧版本,而不是您的应用程序的目标版本。后一个问题……不清楚。但这也是另一个问题。”。
string dependency;

try{

    // exception thrown HERE

    dependency = "somepath"; // <= Will not be executed
}
catch
{
    CallToMethodDependingOnDependency() // <= Will throw again
}