web-dev-qa-db-ja.com

VSCode c#カスタムアセンブリへの参照を追加

visual Studio Codeでは、次のようなカスタムc#アセンブリへの参照を追加したいだけです

「../libs/mylib.dll」

この依存関係を追加するにはどうすればよいですか?

依存関係へのパスを追加しようとしましたが、それが間違っているためコンパイルできませんでした:)

"dependencies": {
    "myassembly" : "../libs/Common.dll"
  },

または

"dependencies": {
    "log4net" : { "Assembly":"../libs/log4net.dll" }
  },
12
Tobias Koller

より簡単に、以下を追加してください:

1)myproject.csprojファイルを変更する

    <ItemGroup>
     <Reference Include="DllComunVb2008">
       <HintPath>..\Dlls\DllComunVb2008.dll</HintPath>
     </Reference>
    </ItemGroup>

2)使用するライブラリのusingを追加します。例:using Dllcomun;

12

私はついにVisual Studioコード内で.netアセンブリを参照する方法を見つけました。

最初に注意:インテルセンスのvscodeのみが必要です。アセンブリをvscode /.netcoreでコンパイルしません。コーディングが完了したら、コマンドラインツールを使用してアセンブリを生成します。

そしてこれが私の解決策です:

  1. Visual Studioで通常の.netクラスライブラリを作成します(コードではありません)。これにより、myproject.csproj-fileが作成されます(vscodeで読み取ることができます)。 Or投稿の下部にある私のtest.csproj-fileを使用します。

  2. 参照されるアセンブリのフォルダーを作成します。トップディレクトリ内にlibs-directoryを作成しました。

  3. vsを閉じ、vscodeでフォルダを開きます。

  4. 次のように* .csproj-fileを変更します。

note: debug-modeでプロジェクトを作成したので、release-property-groupを削除できます。

4.2。 Release-PropertyGroupを削除します(必要はありませんが、必要はありません)。

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>Prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>

4.3。 bin-output-pathをlibs-directoryに変更します。

から

<OutputPath>bin\Debug\</OutputPath>

<OutputPath>libs</OutputPath>

4.4。参照する.netアセンブリ(外部またはカスタム)をlibs-directoryに配置し、次のように参照します。

...
</PropertyGroup>
  <ItemGroup>
    <Reference Include="log4net">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>log4net.dll</HintPath>
    </Reference>
    ...
  </ItemGroup>
...

これは、log4net.dllを参照する完全な* .csprojファイルです。

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.Microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{75278D05-4850-4282-8AB4-3643A9E799FF}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>Test</RootNamespace>
    <AssemblyName>Test</AssemblyName>
    <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>libs</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>Prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="log4net">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>log4net.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Runtime.Serialization" />
    <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="myassembly.cs" />
  </ItemGroup>
  <ItemGroup>
  </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>
5
Tobias Koller