2012-09-21 3 views
2

단위 테스트를 할 때 사용하는 간단한 클래스가 있습니다. NuGet 패키지를 만들어서 쉽게 사용할 수 있고 내 솔루션간에 업데이트를 배포 할 수 있습니다.단일 클래스를 소스 코드로 사용하는 NuGet 패키지

어셈블리를 만들어야합니까, 아니면 소스 파일이 포함 된 NuGet 패키지를 만든 다음 다른 모든 파일과 함께 컴파일 할 수 있습니까? 그렇다면 어떻게 패키지를 구성 할 것입니까?

+0

다음과 같은 것을 찾고 계십니까? [NuGet으로 가볍고 재사용 가능한 소스 코드를 만드는 법] (http://blogs.clariusconsulting.net/kzu/how-to-create-lightweight-reusable-source-code-with) - 너겟 /)? – nemesv

+0

그것은 실제로 그것 같이 보인다! 존 스캣의 권고와 함께 갈 거라 생각합니다. 왜냐하면 그가 말했듯이, 나는 결국 확장을 끝내고 나 자신을 차게 될 것입니다. 그러나 당신이 그것을 답으로 추가한다면, 나는 그것을 받아 들일 것입니다. 여기에 내 질문을 해결합니까 :) – Svish

답변

1

EDIT : 다른 답변에서 말한 것처럼 NuGet 으로 간단한 소스 코드를 배포 할 수 있습니다. 그러나 어셈블리를 제공하는 것보다 더 주류로 접근하는 것이 좋습니다. NuGet을 사용하면이 작업을 매우 빠르게 처리 할 수 ​​있습니다.이 소스 파일을위한 별도의 프로젝트를 만드는 "어려움"을 겪고 그 어셈블리에 대한 패키지를 작성해야하지만 모두 매우 간단합니다.

이렇게하면 더 많은 유형을 추가하려고 할 때 프로젝트에 따라 문제가 발생하지 않는다는 이점이 있습니다. 당신은 단지 소스 코드 파일로 패키지를 만들려면

+0

그건 사실이 아니에요. NuGet은 소스를 포함하여 모든 것을 제공 할 수 있지만 .NET 토지에 소스 코드를 배포하는 것은 그리 일반적이지 않습니다. – davidfowl

+0

@dfowler : 고마워, 편집 할 것이다. –

0

단순히 여기 Nuspec Reference을 참조 된 컨텐츠 폴더 ('콘텐츠 파일'섹션 확인)

<file src="css\mobile\*.css" target="content\css\mobile" /> 
6

를 사용, 할 간단하다. 자세한 내용은 this blog post.

먼저 코드 파일을 만든 다음 myFile.cs.pp (예 : pp (프로세서 전처리) 확장자로 저장하십시오.) 일부 사전 처리 작업을 수행 할 수 있습니다. 네임 스페이스와 같은 파일에 대한 처리 .MySubNameSpace의 네임 스페이스를 추가하려면 코드 파일의 선언을 namespace $rootnamespace$.MySubNameSpace 으로 변경하십시오.이 파일을 nuget 패키지의 내용 섹션에 추가하십시오. 세트.

당신의 .nupec 패키지 파일은 다음과 같을 것이다.

<?xml version="1.0" encoding="utf-16"?> 
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> 
    <metadata> 
     <id>MyPackageName</id> 
     <version>1.0.0</version> 
     <title>My Package Name</title> 
     <authors>Your Name</authors> 
     <owners /> 
     <requireLicenseAcceptance>false</requireLicenseAcceptance> 
     <description>My package description.</description> 
    </metadata> 
    <files> 
     <file src="content\myCodeFile.cs.pp" target="content\myCodeFile.cs.pp" /> 
    </files> 
</package> 

NuGet Package Explorer을 통해이 모든 작업을 수행 할 수 있습니다.

+0

Note : 패키지 파일의 확장자는'.nupec'이 아니라'.nuspec'입니다. – chteuchteu

관련 문제