【发布时间】:2011-08-03 15:47:39
【问题描述】:
我有一个 Asp.Net 网站(没有 .csproj 文件)。
本网站源代码由SVN控制。
我从源代码管理中排除了 bin 文件夹。
所有外部程序集都是从我的 SVN 根目录下的 DLL 文件夹中引用的。
我尝试使用 Cruisecontrol.net 部署此网站。
问题:
Cruise control 从 subversion 加载所有文件,它针对 .sln 文件运行 msbuild.exe。这会导致错误:找不到外部程序集(因为 bin 文件夹已被排除)。
到目前为止我找到的解决方案:
在我的 msbuild 任务之前,将我的源代码管理中的 dll 复制到 /bin 文件夹。
还有其他解决方案吗? (我不想每次向我的项目添加外部程序集时都编辑我的配置)。
编辑:
我终于使用了“刷新文件”技术,这里是我用来创建它们的程序
class Program
{
private const string PATH_BIN = @"F:\WebSite\bin\";
private const string PATH_REFERENCE = @"C:\DLL\";
static void Main(string[] args)
{
foreach (string aFile in Directory.GetFiles(PATH_BIN))
{
if(!aFile.EndsWith(".dll"))
continue;
string pathRefreshFile = aFile + ".refresh";
if(File.Exists(pathRefreshFile))
continue;
string referenceFilePath = PATH_REFERENCE+Path.GetFileName(aFile);
if (!File.Exists(referenceFilePath))
continue;
using (StreamWriter sw = new StreamWriter(pathRefreshFile))
{
sw.Write(referenceFilePath);
}
}
}
}
【问题讨论】:
标签: asp.net svn cruisecontrol.net