nuget.config에서 패키지별로 특정 소스를 지정하는 방법을 알려드리겠습니다. `packageSourceMapping` 기능을 사용하면 특정 패키지를 특정 소스에서만 찾도록 설정할 수 있습니다.
```xml
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<!-- 두 개의 다른 NuGet 소스 추가 -->
<add key="AA-source" value="AA-nuget-url" />
<add key="BB-source" value="BB-nuget-url" />
</packageSources>
<!-- 패키지별 소스 매핑 설정 -->
<packageSourceMapping>
<!-- 활성화 필수 -->
<packageSource key="AA-source">
<!-- A 패키지는 AA 소스에서만 찾도록 설정 -->
<package pattern="A*" />
<!-- 추가 패키지가 있다면 여기에 추가 -->
</packageSource>
<packageSource key="BB-source">
<!-- B 패키지는 BB 소스에서만 찾도록 설정 -->
<package pattern="B*" />
<!-- 추가 패키지가 있다면 여기에 추가 -->
</packageSource>
</packageSourceMapping>
</configuration>
```
실제 예시:
```xml
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="private-nuget" value="https://private-nuget.example.com/v3/index.json" />
<add key="company-nuget" value="https://company-nuget.example.com/v3/index.json" />
</packageSources>
<packageSourceMapping>
<packageSource key="private-nuget">
<package pattern="Company.Internal.*" />
<package pattern="PrivatePackage.*" />
</packageSource>
<packageSource key="company-nuget">
<package pattern="Company.Public.*" />
<package pattern="PublicPackage.*" />
</packageSource>
</packageSourceMapping>
</configuration>
```
패턴 매칭 규칙:
- `pattern="ExactPackageName"` - 정확한 패키지 이름 매칭
- `pattern="Package.*"` - 와일드카드를 사용한 매칭
- `pattern="Company.*"` - 특정 접두사로 시작하는 모든 패키지 매칭
이렇게 설정하면 각 패키지가 지정된 소스에서만 검색되어, 잘못된 소스에서 패키지를 찾으려고 시도하는 문제를 해결할 수 있습니다.
카테고리 없음