Msbuild 动态构建内容项目不会';当项目设置为";无”;
因此,我正在构建一个工具,动态创建ContentProject,然后构建它(以便它输出Xnb) 目前的问题是,如果标记为CopyToOutputDirectory='always'或'PreserveNewst',则不需要编译的文件应该复制到输出目录中。如果我们查看.contentProj,那么对于不应该构建但应该复制的文件,该部分将如下所示Msbuild 动态构建内容项目不会';当项目设置为";无”;,msbuild,xna,xna-4.0,content-pipeline,Msbuild,Xna,Xna 4.0,Content Pipeline,因此,我正在构建一个工具,动态创建ContentProject,然后构建它(以便它输出Xnb) 目前的问题是,如果标记为CopyToOutputDirectory='always'或'PreserveNewst',则不需要编译的文件应该复制到输出目录中。如果我们查看.contentProj,那么对于不应该构建但应该复制的文件,该部分将如下所示 <ItemGroup> <None Include="MyFile.file"> <Name>level1&l
<ItemGroup>
<None Include="MyFile.file">
<Name>level1</Name>
<Importer>XmlImporter</Importer>
<Processor>PassThroughProcessor</Processor>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
最后是构建代码
BuildManager.DefaultBuildManager.BeginBuild(_buildParameters);
var request = new BuildRequestData(_contentProject.CreateProjectInstance(), new string[0]);
var submission = BuildManager.DefaultBuildManager.PendBuildRequest(request);
var execute = Task.Factory.StartNew(() => submission.ExecuteAsync(null, null), cancellationTokenSource.Token);
var endBuild = execute.ContinueWith(ant => BuildManager.DefaultBuildManager.EndBuild());
endBuild.Wait();
在BuildRequest中,空数组接受作为目标的参数。。。我经历了许多不同的目标,它们做着不同的事情,从构建但不是真正输出文件到将依赖关系DLL复制到主文件夹,但不是我需要的
干杯
BuildManager.DefaultBuildManager.BeginBuild(_buildParameters);
var request = new BuildRequestData(_contentProject.CreateProjectInstance(), new string[0]);
var submission = BuildManager.DefaultBuildManager.PendBuildRequest(request);
var execute = Task.Factory.StartNew(() => submission.ExecuteAsync(null, null), cancellationTokenSource.Token);
var endBuild = execute.ContinueWith(ant => BuildManager.DefaultBuildManager.EndBuild());
endBuild.Wait();