2017-03-14 5 views
1

NuGet을 사용하여 패키지 된 dotnet 코어 라이브러리를 작성했습니다. 가능한 디버그 정보 (및 가능한 경우 소스 코드)를 dll에 포함하려고합니다. 별도의 기호 패키지가 있어야합니다.어떻게 지정할 수 있습니다/디버그 : 임베디드 csproj에서?

https://github.com/ctaggart/SourceLink에 따르면 컴파일러에 스위치를 직접 지정하여 컴파일러를 직접 호출 할 때 가능합니다. 나는 csproj 파일이 컴파일러의 호출과 어떤 관련이 있는지 이해하지 못한다.

csproj에서/debug : embedded 플래그를 어떻게 지정합니까?

<Project Sdk="Microsoft.NET.Sdk"> 

    <PropertyGroup> 
    <TargetFramework>netstandard1.6</TargetFramework> 
    <AssemblyName>KamailioApi</AssemblyName> 
    <PackageId>KamailioApi</PackageId> 
    <PackageTargetFallback>$(PackageTargetFallback);dnxcore50</PackageTargetFallback> 
    <NetStandardImplicitPackageVersion>1.6.1</NetStandardImplicitPackageVersion> 
    <GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute> 
    <GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute> 
    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute> 
    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute> 
    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute> 
    <GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute> 
    <GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute> 
    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute> 
    <!-- don't change this we hack it in the TeamCity Build--> 
    <Version>1.0.1</Version> 
    <PackageVersion>1.0.1-beta</PackageVersion>  
    </PropertyGroup> 

    <ItemGroup> 
    <PackageReference Include="Newtonsoft.Json" Version="9.0.1" /> 
    <PackageReference Include="System.Runtime.Serialization.Formatters" Version="4.3.0" /> 
    <PackageReference Include="System.Xml.XmlDocument" Version="4.0.1" /> 
    <PackageReference Include="system.xml.xpath.xmldocument" Version="4.0.0" /> 
    </ItemGroup> 

    <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' "> 
    <PackageReference Include="System.Net.Requests" Version="4.3.0" /> 
    </ItemGroup> 

</Project> 
+0

가능한 복제 http://stackoverflow.com/questions/42714352/embedding-c-sharp-sources-in-pdb-with-new-csproj/42759457#42759457 – m0sa

답변

3

당신이처럼 <DebugSymbols> and <DebugType> properties하여이 작업을 수행 할 수 있습니다 :

<PropertyGroup>  
    <DebugSymbols>true</DebugSymbols> 
    <DebugType>embedded</DebugType> 
</PropertyGroup> 

Here's an example of where I do it with MiniProfilerDirectory.build.props에 또는 그래서 그 디렉토리 수준 아래의 모든 .csproj 파일에 적용 참고 여기

내 csproj입니다 더 큰 프로젝트에서 일반적인 것을 한 번 지정할 수 있습니다.