C# 无法加载文件或程序集“;路径“;或者它的一个依赖项。系统找不到指定的文件

C# 无法加载文件或程序集“;路径“;或者它的一个依赖项。系统找不到指定的文件,c#,windows,service,.net-assembly,assemblyinfo,C#,Windows,Service,.net Assembly,Assemblyinfo,我有服务。我试图用c#安装它。即使服务文件存在,我也收到了错误消息 无法加载文件或程序集'file:///C:\Sample\Sample.exe'或其依赖项之一。系统找不到指定的文件。 我使用installutil进行安装,安装成功 string Path = @"C:\sample\sample.exe"; string[] commandLineOptions = new string[1] { "/LogFile=install.log" };

我有服务。我试图用c#安装它。即使服务文件存在,我也收到了错误消息
无法加载文件或程序集'file:///C:\Sample\Sample.exe'或其依赖项之一。系统找不到指定的文件。
我使用installutil进行安装,安装成功

           string Path = @"C:\sample\sample.exe";
           string[] commandLineOptions = new string[1] { "/LogFile=install.log" };
           using (AssemblyInstaller installer = new AssemblyInstaller(Path, commandLineOptions))
            {
                installer.UseNewContext = true;
                installer.Install(null);
                installer.Commit(null);
            }
此代码产生错误 与installutil succeede的路径相同。 我检查了路径,指定位置存在sample.exe文件。为什么会发生这种错误

编辑

首次运行时,此代码文件不存在,将发生异常。此时,我将文件复制到指定的位置,并再次调用相同的代码。
第二次,文件实际存在,但显示相同的错误消息。

使用
AssemblyInstaller
后,我们需要卸载文件

var domain = AppDomain.CreateDomain("MyDomain");
                using (AssemblyInstaller installer = domain.CreateInstance(typeof(AssemblyInstaller).Assembly.FullName, typeof(AssemblyInstaller).FullName, false, BindingFlags.Public | BindingFlags.CreateInstance | BindingFlags.Instance | BindingFlags.ExactBinding, null, new Object[] { Path, new String[] { } }, null, null, null).Unwrap() as AssemblyInstaller)
                {
                    installer.UseNewContext = true;
                    installer.Install(null);
                    installer.Commit(null);
                }
                AppDomain.Unload(domain);
使用
AppDomain
可以卸载程序集。通过此.exe文件将在操作后释放