코드 계약을 사용하여 프로젝트의 위성 어셈블리를 생성하고 있습니다. 기본적으로 프로젝트의 MyAssembly.dll에 대한 MyAssembly.Contracts.dll을 만듭니다. 이것은 당신의 어셈블리 옆에 놓이게 될 것이지만, 어떤 어플리케이션에 의해서도 참조되지 않는다. 그것은 계약 툴에서만 사용된다..nuspec의 코드 계약 참조 제어
나는 이것을 내 너겟 패키지에 포함하려고 시도하지만 그 패키지를 다른 앱에 설치하면 계약 어셈블리가 문제를 만드는 참조로 포함됩니다.
.nuspec reference에 따르면이 값은 references
요소를 추가하는 것처럼 간단해야하지만 무시되는 것으로 보입니다. 현재 이론은 이것이 대체 토큰에 .csproj를 사용하고 있기 때문에 .csproj가 아닌 .nuspec에서 참조를 읽었 기 때문입니다.
이전에이 작업을 수행 한 사람이 있습니까? 어떤 아이디어? 있습니다 내가 오버 패키지 복사하는 새로운 MyPackage.CodeContracts을 만드는 권하고 싶습니다, 별도의 옵션 어셈블리 코드 계약으로
<?xml version="1.0"?>
<package>
<metadata>
<references>
<reference file="MyAssembly.dll"/>
</references>
</metadata>
<files>
<file src="bin\Release\CodeContracts\*.dll" target="lib\net45"/>
</files>
</package>
그래서 지금은 효과가 있습니까? 나는 최근 [이 질문] (http://stackoverflow.com/questions/28192428/how-do-i-include-contract-assemblies-in-the-nupkg-automatically)을 올렸다. 현재 프로세스에서 nuspec 파일의 하드 코딩 된 경로를 참조 할 수 없습니다. 대신에 너게가 자동으로 계약 어셈블리를 발견하도록하고 싶습니다. – julealgon