Outils pour utilisateurs

Outils du site


ide:vs:csproj

Forcer à chaque "Démarrer le débogage"

Le forçage peut être nécessaire si des fichiers doivent être dupliqués à chaque exécution du débogage (mise en place d'un copy dans le pre-build) afin d'être à jour, indépendamment d'une éventuelle modification des sources du programme.

Remplissez correctement la rubrique pre-build et post-build puis fermez le projet. Editez le fichier .csproj, allez dans la rubrique PropertyGroup qui contient PreBuildEvent et ajoutez :

  <PropertyGroup>
    <DisableFastUpToDateCheck>true</DisableFastUpToDateCheck>
    <PreBuildEvent>

Solution : msbuild - Visual Studio add pre-build event that always runs (C# project) - Stack Overflow Archive du 07/03/2015 le 27/04/2020.

Doc Visual Studio correspondante : Common MSBuild Project Properties Archive du 11/15/2016 le 27/04/2020.

Fusion des dll et de l'exécutable

Installez le paquet NuGet ILMerge.

Editez manuellement le fichier .csproj et ajoutez tout en bas (juste avant le </Project> final) :

  <Target Name="AfterBuild" Condition=" '$(Configuration)' == 'Release' ">
    <CreateItem Condition="'%(Extension)'=='.dll'" Include="@(ReferenceCopyLocalPaths)">
      <Output TaskParameter="Include" ItemName="IlmergeAssemblies" />
    </CreateItem>
    <Exec Command="&quot;$(SolutionDir)packages\ILMerge.2.14.1208\tools\Ilmerge.exe&quot; /targetplatform:&quot;v4,C:\Windows\Microsoft.NET\Framework\v4.0.30319&quot; /ndebug /out:@(MainAssembly) &quot;@(IntermediateAssembly)&quot; @(IlmergeAssemblies->'&quot;%(FullPath)&quot;', ' ')" />
    <Delete Files="@(ReferenceCopyLocalPaths->'$(OutDir)%(DestinationSubDirectory)%(Filename)%(Extension)')" />
  </Target>

Utiliser une dll différente en Debug et en Release

<ItemGroup Condition="'$(Configuration)' == 'Debug'">
  <Reference Include="MyLib">
    <HintPath>..\..\Debug\MyLib.dll</HintPath>
  </Reference>
</ItemGroup>
 
<ItemGroup Condition="'$(Configuration)' == 'Release'">
  <Reference Include="MyLib">
    <HintPath>..\..\Release\MyLib.dll</HintPath>
  </Reference>
</ItemGroup>

c# - Visual Studio 2010 Compiling with the Debug or Release version of third party library depending on if my project is being compiled Build or Release_ - Stack Overflow Archive du 30/03/2011 le 27/04/2020

Visual Studio ne copie pas toutes les dépendances dans le dossier Output

Cela peut se produit quand un projet C# dépend d'un projet C++/Cli qui dépend d'un projet C++. Dans ce cas, Visual Studio ne va pas copier la dll C++.

Il faut ajouter la dll au projet et cocher Copier dans le dossier Output. Si on veut utiliser une dll différente entre la version Debug et la version Release, on combine avec la rubrique Utiliser une dll différente en Debug et en Release.

Mettre avant <\Project>

  <ItemGroup Condition="'$(Configuration)' == 'Debug'">
    <Content Include="..\x64\Debug\PclTraitement.dll">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
    <Content Include="..\x64\Debug\PclTraitement.pdb">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>
  <ItemGroup Condition="'$(Configuration)' == 'Release'">
    <Content Include="..\x64\Release\PclTraitement.dll">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
    <Content Include="..\x64\Release\PclTraitement.pdb">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

c++\cli project dependent c++ dll not copied to c# output directory Archive du 24/02/2015 le 27/04/2020

Migration d'un projet .NET 4.5 vers .NET4

Il faut enlever la référence à System.Net.Http.

Problème de migrationSolution pour la migration

Impossible de déboguer en Debug

Il peut s'agir d'une mauvaise configuration et que la solution Debug soit configurée en Release.

Impossible de déboguer en Debug, le problème Impossible de déboguer en Debug, la solution

_net - VS2015 Project no longer runs in debug mode - Stack Overflow Archive du 13/08/2015 le 27/04/2020

Erreur lors du chargement d'une form graphique lors de l'édition

Could not find type XXXXX. Please make sure that the assembly that contains this type is referenced. If this type is a part of your development project, make sure that the project has been successfully built using settings for your current platform or Any CPU.

Si Visual Studio est 32 bit, vérifier que la configuration en cours (Debug généralement) est bien configuré pour compiler le projet C# soit en 32 bit (x86), soit en Any CPU et pas uniquement en 64 bit (x64).

Could not find type 'xxx.xxx.xxx'. Please make sure that the assembly Archive du 25/09/2013 le 27/04/2020

VS 2010 designer error 'Could not find type XYZ' in Windows7. Works fine in XP Archive du 14/10/2012 le 27/04/2020

ide/vs/csproj.txt · Dernière modification : 2020/05/11 00:04 de root