Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 T4模板卷影复制不起作用_Visual Studio 2012_T4 - Fatal编程技术网

Visual studio 2012 T4模板卷影复制不起作用

Visual studio 2012 T4模板卷影复制不起作用,visual-studio-2012,t4,Visual Studio 2012,T4,我使用VS2012和T4模板,这意味着您可以在模板中引用程序集,然后重新编译该程序集。但这对我根本不起作用。当我尝试重建程序集时,会出现如下错误: Unable to copy file "obj\Debug\xxx.dll" to "..\bin\xxx.dll". The process cannot access the file '..\bin\xxx.dll' because it is being used by another process. 唯一的解决办法是重新启动Visu

我使用VS2012和T4模板,这意味着您可以在模板中引用程序集,然后重新编译该程序集。但这对我根本不起作用。当我尝试重建程序集时,会出现如下错误:

Unable to copy file "obj\Debug\xxx.dll" to "..\bin\xxx.dll". 
The process cannot access the file '..\bin\xxx.dll' because it is being used by another process.
唯一的解决办法是重新启动VisualStudio,这太单调了,我准备完全放弃T4。我可能做错了什么?

所以这还不是一个真正的答案,但希望我们能做到

在VS2013中测试运行了以下内容(我知道您运行的是VS2012)

这在VS2013中运行得很好,据我记忆所及,它在VS2012中也运行得很好。我将尝试在我的一台机器上安装VS2012,但您是否介意在您的安装上测试这个简单的示例,以验证您的解决方案中没有包含dll的内容

如果您对项目文件感兴趣,可以在此处找到:

我也在解决类似的问题。T4设计时模板在visual studio的同一流程下在不同的应用程序域中处理。重建解决方案时,Visual Studio尝试替换引用的DLL,但由于该DLL仍在使用中,因此无法替换


我通过删除处理T4模板的AppDomain解决了这个问题。请参见

我认为这是在VS2012 SP1中添加的。您使用的是哪个版本?我的错误是,在VS2010 SP1中添加了。VS2012应该支持it oob。你有一个重新编译它的示例吗?@FuleSnabel:任何引用任何可执行文件的汇编指令都会这样做。VS锁定该文件,如果我尝试重新编译它,它会失败,因为该文件不可写。我会在有时间时尝试一下,然后报告。谢谢
<#@ assembly name = "$(SolutionDir)\TestProj\bin\Debug\TestProj.dll"#>
<#@ import namespace = "TestProj"#>

namespace ConsoleApplication1
{
    class <#=Testing.Name#>
    {

    }
}
namespace TestProj
{
    public static class Testing
    {
        public static string Name
        {
            get { return "Tester" ;}
        }
    }
}