2011-08-16 2 views
2

나는 msbuild를 통해 솔루션을 빌드하는 데 nant를 사용하려고합니다. 문제는 solution's 디렉토리입니다 : 이것은 내가xml nant 및 ó 문자

를 얻을 그것을 실행할 때 내 빌드 파일

<?xml version="1.0" encoding="ascii"?> 
<project name="Simple" default="copy"> 
<property name="nantcontrib-dir" 
    value="${path::combine(nant::get-base-directory(), '..\..\nantcontrib-0.85')}" overwrite="false" /> 

<property name="dest-dir" 
    value="C:\temp\nant\table\full-release" overwrite="true" /> 

<property name="remote-dir" 
    value="C:\temp\nant\table\full-release" overwrite="true" /> 


<property name="cleandir" 
    value="C:\temp\nant\table" overwrite="false" /> 



<property name="pm-soldir" 
    value ="C:\Repositorio\Proyectos Casino\SPPM\Codificación\PokerManager\PokerManager.sln" /> 



<loadtasks assembly= 
    "${path::combine(nantcontrib-dir,'bin/NAnt.Contrib.Tasks.dll')}" 
/> 
<target name="build-PokerManager" 
     description="Builds all C# code"> 

<property name="nant.settings.currentframework" value="net-4.0"/> 
    <msbuild project="${pm-soldir}"> 
    <property name="Configuration" 
       value="release" /> 
    <property name="OutputPath" value="${dest-dir}"/> 

    </msbuild> 
</target> 


<target name="copy" depends="build-PokerManager"> 
    <copy todir="${remote-dir}"> 
    <fileset basedir="${dest-dir}"> 
     <include name="**/*" /> 
    </fileset> 
</copy> 
    </target> 



</project> 

입니다 요는

O 특수 목적 문자를 가지고 볼 수

C:\Repositorio\Proyectos Casino\SPPM\Codificación\PokerManager 

빌드 PokerManager :

BUILD FAILED 

C:\Juan Pablo\Release Maker\ForTablet\NAnt\table-releases.build(30,4): 
'C:\Repositorio\Proyectos Casino\SPPM\Codifica 
ci?n\PokerManager\PokerManager.sln' is not a valid value for attribute 'project' 
of <msbuild ... />. 
    not valid characters in path.. 

Total time: 0.1 seconds. 

i've는 UTF-8 유니 코드를 사용하여 시도하지만 않았나

답변

1

Spudley가 올바른 방향에 있다고 생각합니다. <?xml version="1.0" encoding="ascii"?><?xml version="1.0" encoding="UTF-8"?>이 아니어야합니다. Ascii는 유니 코드 문자를 잘 사용하지 않습니다 ...

+0

+1. 좋은 지적입니다. 나는 그가이 일을했다는 UTF-8을 시도한 것에 대해 그의 코멘트에서 추측 했었지만 그것을 지적하는 것이 옳다. 헤더에 UTF-8을 모두 설정할 수 있지만 문서 자체 ASCII라고 말하면 UTF-8이 아닐 것입니다. – Spudley

1

UTF-8 인코딩 작동합니다 사전에

감사를 작동하지만 아마도 시스템에 뭔가가 다루는 좋아하지 않는다?

UTF-8이 없으면 엔티티 인코딩을 시도 했습니까?

ó 문자는 &#211;의 XML 엔터티 코드로 인코딩됩니다. 이것은 문자 인코딩이 무엇인지에 관계없이 XML에서 작동합니다.

(그러나 단지 문자열은 하나 개의 문자 대체하지 않습니다 - 당신은 당신이있어 다른 문자가 흐트러져 지금, 주변에 숨어 또는 미래에 잡을 확신 할 수 있도록, 적절한 엔티티 인코딩 기능을 사용)