Como solucionar o seguinte problema no Visual Studio

Gravidade Código Descrição Projeto Arquivo Linha Estado de Supressão
Erro MSB4018 Falha inesperada da tarefa “CreateAppHost”.
Microsoft.NET.HostModel.HResultException: 8007006E
em Microsoft.NET.HostModel.ResourceUpdater.Update()
em Microsoft.NET.HostModel.AppHost.HostWriter.<>c__DisplayClass2_0.g__UpdateResources|1()
em Microsoft.NET.HostModel.RetryUtil.RetryOnWin32Error(Action func)
em Microsoft.NET.HostModel.AppHost.HostWriter.CreateAppHost(String appHostSourceFilePath, String appHostDestinationFilePath, String appBinaryFilePath, Boolean windowsGraphicalUserInterface, String assemblyToCopyResorcesFrom)
em Microsoft.NET.Build.Tasks.CreateAppHost.ExecuteCore()
em Microsoft.NET.Build.Tasks.TaskBase.Execute()
em Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
em Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext() AtivarWindows C:\Program Files\dotnet\sdk\3.1.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets 393

  • Onde exatamente acontece esse erro?
  • Exemplifique?

O erro acontece no seguinte trecho de código com o visual Studio

class ProgramaTeste
{
    // myProcess.StartInfo.FileName = "c:\\windows\\system32\\slmgr.vbs -ipk VGCB3-C7N74-6PR9Q-3VTRD-8K8WR";
    // var myFile = "C:\\User\\C5T9\\Desktop\\PATEC- PARECER TECNICO.txt";
    // var workingFolder = "D:\\SomeFolder";
   

    //pInfo.WorkingDirectory = workingFolder;
    static void Main(string[] args)
    {           
        // pInfo.FileName = myFile;
        try
        {
            var pInfo = new System.Diagnostics.ProcessStartInfo();
            pInfo.Arguments = "C:\\WINDOWS\\notepad.exe";//String.Format("{0}", myFile);
            System.Diagnostics.Process.Start(pInfo);
        }
        catch (Exception e)
        {
            //String.Format(e.Message("Erro ao carregar o arquivo"));
            // e.Message("Chave inválida");
        }
        finally
        {
        }
        // Use a switch statement to do the math.
        //  switch (Console.ReadLine())
        // {
        //     case "a":
        //          Console.WriteLine($"Your result: {num1} + {num2} = " + (num1 + num2));
        //         break;
        //      case "s":
        //          Console.WriteLine($"Your result: {num1} - {num2} = " + (num1 - num2));
        //          break;
        //      case "m":
        //          Console.WriteLine($"Your result: {num1} * {num2} = " + (num1 * num2));
        //           break;
        //      case "d":
        //          Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
        //          break;
        // }
        // Wait for the user to respond before closing.



        // Do something with buffer...
    }

Teste

 Process.Start(@"notepad.exe");
1 curtida

Poderia me informar o que o (arroba)

@

faz?

E o escape se precisa geralmente em caminhos precisam, nesse caso é desnecessário.

É desnecessário porque o windows conhece o caminho do notepad?

porque é um arquivo que já é conhecido pelo sistema. Ou seja, o notepad.exe é contido no Windows.

Diferente disso precisa ser especificado o caminho completo.

Tem sites para recomendar estudo, pois estou começando no .net
``

Bom dia. Tem como fazer isto chamando um pst do powershell?
Exemplo:
System.Diagnostics.Process.Start(@“C:\Users\C5T9\Desktop\AutomatingSoftwareInstallation\CiscoJabberSetup\TeamViewer.pst”);