visual Studio Codeでは、次のようなカスタムc#アセンブリへの参照を追加したいだけです
「../libs/mylib.dll」
この依存関係を追加するにはどうすればよいですか?
依存関係へのパスを追加しようとしましたが、それが間違っているためコンパイルできませんでした:)
"dependencies": {
"myassembly" : "../libs/Common.dll"
},
または
"dependencies": {
"log4net" : { "Assembly":"../libs/log4net.dll" }
},
より簡単に、以下を追加してください:
1)myproject.csprojファイルを変更する
<ItemGroup>
<Reference Include="DllComunVb2008">
<HintPath>..\Dlls\DllComunVb2008.dll</HintPath>
</Reference>
</ItemGroup>
2)使用するライブラリのusing
を追加します。例:using Dllcomun;
私はついにVisual Studioコード内で.netアセンブリを参照する方法を見つけました。
最初に注意:インテルセンスのvscodeのみが必要です。アセンブリをvscode /.netcoreでコンパイルしません。コーディングが完了したら、コマンドラインツールを使用してアセンブリを生成します。
そしてこれが私の解決策です:
Visual Studioで通常の.netクラスライブラリを作成します(コードではありません)。これにより、myproject.csproj-fileが作成されます(vscodeで読み取ることができます)。 Or投稿の下部にある私のtest.csproj-fileを使用します。
参照されるアセンブリのフォルダーを作成します。トップディレクトリ内にlibs-directoryを作成しました。
vsを閉じ、vscodeでフォルダを開きます。
次のように* .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>