2011-07-26 12 views
5

Cada vez que ejecuta una aplicación de consola de C# (ya sea desde Visual C# 2010 o Visual Studio Ultimate 2010), la primera línea de salida esaplicación imprime # consola Cada C "el sistema no puede encontrar la ruta especificada"

El sistema no puede encontrar la ruta especificada

, incluso cuando mi programa no hace nada, y no especifica ninguna ruta. ¿Por qué sucedería esto? ¿Hay alguna manera de verificar cuál podría ser el camino que está buscando? Los programas funcionan bien de lo contrario. Traté de detectar una excepción System.IO.DirectoryNotFoundException, pero no pude encontrar dónde poner los bloques try/catch.

estoy corriendo Windows 7 x64, la construcción de aplicaciones de consola, y se han probado todos los diferentes objetivos de plataforma (x86, x64 Cualquier CPU) Puedo en Visual Studio, obteniendo siempre el mismo

He tenido alguna otra problemas y tengo la corazonada de que esto puede tener algo que ver con eso, y es por eso que estoy tratando de resolverlo. ¡Gracias!

A continuación se muestra el archivo .csproj z que Visual Studio genera (este proyecto muestra el comportamiento problemático que estoy describiendo cuando se ejecuta desde la línea de comandos o cuando se ejecuta desde VS)

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <Platform Condition=" '$(Platform)' == '' ">x86</Platform> 
    <ProductVersion>8.0.30703</ProductVersion> 
    <SchemaVersion>2.0</SchemaVersion> 
    <ProjectGuid>{04EC9A5E-74D8-4A5F-BCD3-05D9B6CA1477}</ProjectGuid> 
    <OutputType>Exe</OutputType> 
    <AppDesignerFolder>Properties</AppDesignerFolder> 
    <RootNamespace>UsingNLOpt</RootNamespace> 
    <AssemblyName>UsingNLOpt</AssemblyName> 
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> 
    <TargetFrameworkProfile>Client</TargetFrameworkProfile> 
    <FileAlignment>512</FileAlignment> 
    </PropertyGroup> 
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> 
    <PlatformTarget>x86</PlatformTarget> 
    <DebugSymbols>true</DebugSymbols> 
    <DebugType>full</DebugType> 
    <Optimize>false</Optimize> 
    <OutputPath>bin\Debug\</OutputPath> 
    <DefineConstants>DEBUG;TRACE</DefineConstants> 
    <ErrorReport>prompt</ErrorReport> 
    <WarningLevel>4</WarningLevel> 
    </PropertyGroup> 
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> 
    <PlatformTarget>AnyCPU</PlatformTarget> 
    <DebugType>pdbonly</DebugType> 
    <Optimize>true</Optimize> 
    <OutputPath>bin\Release\</OutputPath> 
    <DefineConstants>TRACE</DefineConstants> 
    <ErrorReport>prompt</ErrorReport> 
    <WarningLevel>4</WarningLevel> 
    <AllowUnsafeBlocks>false</AllowUnsafeBlocks> 
    </PropertyGroup> 
    <ItemGroup> 
    <Reference Include="System" /> 
    <Reference Include="System.Core" /> 
    <Reference Include="System.Xml.Linq" /> 
    <Reference Include="System.Data.DataSetExtensions" /> 
    <Reference Include="Microsoft.CSharp" /> 
    <Reference Include="System.Data" /> 
    <Reference Include="System.Xml" /> 
    </ItemGroup> 
    <ItemGroup> 
    <Compile Include="Program.cs" /> 
    <Compile Include="Properties\AssemblyInfo.cs" /> 
    </ItemGroup> 
    <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 
    <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
     Other similar extension points exist, see Microsoft.Common.targets. 
    <Target Name="BeforeBuild"> 
    </Target> 
    <Target Name="AfterBuild"> 
    </Target> 
    --> 
</Project> 

EDITAR: Resuelto: una entrada de Ejecución automática a un directorio inexistente en el registro de la Consola de Microsoft. Vea la respuesta a continuación.

+0

¿podría mostrarnos algún código? –

+3

¿Qué sucede si acaba de ejecutar cmd desde el menú de inicio? ¿La misma cosa? –

+0

¿Cuál es el código que está ejecutando? ¿Y tu stacktrace? – Carra

Respuesta

7

Se puede comprobar su registro:

\Software\Microsoft\Command Processor\AutoRun 

tanto en el HKEY_LOCAL_MACHINE y HKEY_CURRENT_USER?

Es posible que el procesador de comandos esté intentando ejecutar algo al inicio que no está allí.

+0

Lo tienes. Gracias. Hubo una entrada Autorun en el HKEY_CURRENT_USER que no existe. Era una letra de unidad (H :) que nunca había estado en mi sistema y que no podía leer/escribir. Supongo que algo escribió en el registro al instalar .. – Rory

+0

Excelente. No es un problema que haya encontrado antes, pero sonó sospechosamente así. Siéntase libre de hacer clic en el botón Aceptar, ya que soy una "prostituta de representante" hoy ;-) –

Cuestiones relacionadas