2012-07-18 4 views
5

Tengo un archivo .cs con una clase base que quiero usar desde muchos proyectos. Primero coloqué este archivo cs encima de la carpeta del proyecto (junto con el archivo .sln). Entonces, dentro del proyecto, he cambiado el¿Puedo usar TargetFileName para colocar un archivo en un directorio dentro de una plantilla de Visual Studio?

<Compile Include="BaseClass.cs">
a
<Compile Include="..\BaseClass.cs">

Esto funciona, y el icono del archivo a continuación, tiene una pequeña flecha de acceso directo.


El problema surge cuando quiero exportar el proyecto como una plantilla de proyecto. BaseClass no se incluye en la plantilla porque está fuera de la carpeta del proyecto. He intentado añadir los BaseClass.cs a la plantilla postal y añadiendo
<ProjectItem ReplaceParameters="true" TargetFileName="..\BaseClass.cs">BaseClass.cs</ProjectItem>
a la MyTemplate.vstemplate, pero me sale el error:
A target file name within the VSTemplate file is invalid, it contains a fully qualified path
Si quito el ..\, que incluye el archivo directamente. Si dejo <ProjectItem> fuera del archivo .vstemplate, y simplemente pongo <Compile Include="..\BaseClass.cs"> en el archivo .csproj en la plantilla, busca el archivo en Users/me/AppData/Local....

¿Cómo puedo obtener la plantilla para hacer referencia a un archivo fuera del directorio del proyecto?

Respuesta

0
+0

El mensaje del foro que no era capaz de encontrar. Gracias. Sé que no se ha solucionado para VS2012, pero ¿sé si esto se ha solucionado para VS2013? –

+0

Desafortunadamente, es lo mismo con VS 2013. Estoy trabajando en una solución para este problema. La idea clave es crear un asistente para un proyecto de plantilla. –

+0

Puede seguir este enlace: http://msdn.microsoft.com/en-us/library/ms185301.aspx –

Cuestiones relacionadas