相关疑难解决方法(0)

vshost.exe文件的目的是什么?

当我在C#中创建并编译"hello world"应用程序时,除了主exe之外,我在Debug文件夹中得到三个文件(例如HelloWorld.exe)

  1. HelloWorld.vshost.exe
  2. HelloWorld.pdb
  3. HelloWorld.vshost.exe.manifest

这些文件的用途是什么?

c# debugging visual-studio

475
推荐指数
5
解决办法
18万
查看次数

引用到单独的子文件夹

我花了几天的时间,终于找到了一个似乎有效的解决方案。然而,它似乎有点脆弱,或者可能是不明智的。

我希望所有非系统引用的程序集(当前使用的项目库是 NuGet 管理的)都包含在构建输出的“libs”子文件夹中。

我的 csproj 文件底部包含的以下代码段执行此操作(通过谷歌搜索和我在这里找到的几个问题构建。)

  <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">
    <Message Text="### Removing existing 'lib' folder" Importance="high" />
    <RemoveDir Directories="$(TargetDir)libs" />
  </Target>
  <Target Name="MoveLibrariesOnBuild" AfterTargets="Build">
    <ItemGroup>
        <Libraries Include="%(Reference.HintPath)" >
           <MissingHintPath>$([MSBuild]::ValueOrDefault('%(Reference.HintPath)', '').Equals(''))</MissingHintPath>         
        </Libraries>
    </ItemGroup>
    <Message Text="### Moving libraries to 'libs' ###" Importance="high" />
    <Copy SourceFiles="@(Libraries)" 
            DestinationFiles="$(TargetDir)libs\%(Filename).dll" 
            Condition="%(Libraries.MissingHintPath) == False" 
            SkipUnchangedFiles="false" 
            OverwriteReadOnlyFiles="true" />
  </Target> …
Run Code Online (Sandbox Code Playgroud)

c# msbuild visual-studio

2
推荐指数
1
解决办法
2245
查看次数

标签 统计

c# ×2

visual-studio ×2

debugging ×1

msbuild ×1