2017-01-26 2 views
0

나는 다음과 같은 구문을 사용하여 로슬린를 통해 내 VB.NET 프로젝트에 메타 데이터 참조를 추가하려고 :roslyn을 통해 "copy local"이 포함 된 참조를 추가하는 방법은 무엇입니까?

project = project.AddMetadataReference(
    MetadataReference.CreateFromFile(
     package.FullName, 
     MetadataReferenceProperties.Assembly)); 

그러나, 나는이 조립 true에 "로컬 복사"로 설정해야을, 어떻게 할까? 어셈블리 참조에 대한 것 같아요 난 단지 WithEmbedInteropTypesWithAliases 사용할 수있는, 특정 참조의 나머지 속성을 설정하는 방법 ...?

답변

2

"로컬 복사"는 컴파일러 기능이 아닌 MSBuild 기능이라고 생각됩니다. 당신이 csc 명령 줄에서 보면 :

     - INPUT FILES - 
/recurse:<wildcard>   Include all files in the current directory and 
           subdirectories according to the wildcard 
           specifications 
/reference:<alias>=<file>  Reference metadata from the specified assembly 
           file using the given alias (Short form: /r) 
/reference:<file list>  Reference metadata from the specified assembly 
           files (Short form: /r) 
/addmodule:<file list>  Link the specified modules into this assembly 
/link:<file list>    Embed metadata from the specified interop 
           assembly files (Short form: /l) 
/analyzer:<file list>   Run the analyzers from this assembly 
           (Short form: /a) 
/additionalfile:<file list> Additional files that don't directly affect code 
           generation but may be used by analyzers for produ 
cing 
           errors or warnings. 

당신은 별명을 얻을 /reference:<alias>=<file>을 할 수있는, 또는 /link:<file list>는 상호 운용성 메타 데이터를 포함하는, 그러나 여기에는 옵션 "로컬 복사"하는가 없습니다.

직접 복사해야합니다.