2013-04-14 4 views
0

나는 내 빌드 파일에서 리소스를 지정하는 데 문제가 있지만 C# 프로젝트의 솔루션을 빌드하는 데 nant를 사용하려고합니다. 오류 코드가 나타납니다. CS0234 : 'Darkside'네임 스페이스에 'Properties'유형 또는 네임 스페이스 이름이 없습니다. 오류를 제거하기 위해 빌드 파일을 어떻게 수정할 수 있습니까? 여기Nant는 namespace.Properties를 인식하지 못합니다.

는 문제를 일으키는 내 소스 파일에서 코드의 조각 중 하나입니다

닥 사이드 프로젝트의 네임 스페이스이며, 나머지는

여기

이 자원에 액세스

Image enemyImage = DarkSide.Properties.Resources.DarkSide_Asteroid_Medium_Gray; 

내 빌드 파일의 단편 :

<target name="build" depends="init" description="compiles the source code"> 
    <property name="build.dir" value="${project::get-base-directory()}/${project::get-name()}/bin/release/${project.version}${basedir.suffix}"/>   
    <mkdir dir="${build.dir}"/> 
    <csc target="exe" output="${build.dir}/Darkside.exe" debug="${build.debug}"> 

     <sources> 
      <include name="Darkside/*.cs"/> 
     </sources> 

     <resources > 
      <include name="${project::get-base-directory()}/${project::get-name()}/Properties/**" /> 
     </resources> 
    </csc> 
</target> 

답변

0

당신은 아마 (dynamicprefix와 = "true"로)에 resources 태그의 prefix을 정의해야합니다. 실제로

<target name="build" depends="init" description="compiles the source code"> 
    <property name="build.dir" value="${project::get-base-directory()}/${project::get-name()}/bin/release/${project.version}${basedir.suffix}"/>   
    <mkdir dir="${build.dir}"/> 
    <csc target="exe" output="${build.dir}/Darkside.exe" debug="${build.debug}"> 

     <sources> 
      <include name="Darkside/*.cs"/> 
     </sources> 

     <resources dynamicprefix="true" prefix="DarkSide"> 
      <include name="${project::get-base-directory()}/${project::get-name()}/Properties/**" /> 
     </resources> 
    </csc> 
</target> 

csc 작업의 documentation 상태 :

참고 : <csc> 작업의 Microsoft Visual Studio.NET의 접두사 속성의 값에 의해 생성과 일치 매니페스트 리소스 이름을 생성해야하기 위해 <resources> 요소는 C# 프로젝트의 "기본 네임 스페이스"와 일치해야하며 dynamicprefix 특성 값은 "true"로 설정되어야합니다.

+0

기본 네임 스페이스를 추가 한 후에도 동일한 오류가 계속 발생합니다. – Mozly

+0

@ 접두사 = "DarkSide.Properties.Resources"및 dynamicprefix = "false"로 시도하십시오. –

+0

@Mozly 아 ... 그리고 당신은 또한 cs에 대한 더 나은 포함이 필요합니다. **와 같은 것은 name = "Darkside/**/*. cs"**를 포함합니다. –