Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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
Asp.net 网站项目、项目引用和版本控制_Asp.net_Version Control_Web Site Project - Fatal编程技术网

Asp.net 网站项目、项目引用和版本控制

Asp.net 网站项目、项目引用和版本控制,asp.net,version-control,web-site-project,Asp.net,Version Control,Web Site Project,我有一个ASP.NET网站项目,它的逻辑通常在App_Code文件夹中。我将一些代码拉入一个类库项目(以允许单元测试),并添加了一个项目引用。它编译和运行良好 问题是Web站点项目表示项目引用的唯一方式(据我所知)是通过在/bin目录中存在已编译的dll。我不想在版本控制(Subversion)中包含这些生成的文件。将这些文件添加到SVN ignore列表(我通常使用/bin DLL)不是一个选项,因为我丢失了项目引用 因此,问题是:除了将dll放入/bin目录之外,还有什么方法可以在网站项目中

我有一个ASP.NET网站项目,它的逻辑通常在App_Code文件夹中。我将一些代码拉入一个类库项目(以允许单元测试),并添加了一个项目引用。它编译和运行良好

问题是Web站点项目表示项目引用的唯一方式(据我所知)是通过在/bin目录中存在已编译的dll。我不想在版本控制(Subversion)中包含这些生成的文件。将这些文件添加到SVN ignore列表(我通常使用/bin DLL)不是一个选项,因为我丢失了项目引用

因此,问题是:除了将dll放入/bin目录之外,还有什么方法可以在网站项目中维护项目引用吗


如果没有,我计划将类库移动到自己的解决方案中,并使用.refresh文件。由于项目总是一起进行,这不是我的偏好。

您可以尝试创建一个空的Visual Studio解决方案,然后为您创建的类库添加网站项目和新项目。这是一个折中的过程,你可以编译解决方案来检查一切是否正常,但实际上你不需要这样做。因此,您保持了网站的轻松风格,但能够关联项目

然后,您可以将类库项目保留在同一存储库中,并继续从网站的bin中排除已编译的dll。如果您让类库将dll的副本放在repo根目录下的“libs”文件夹中,那么您可以从那里将其引用到您的网站中

然后,您的文件夹结构将类似于 -你的项目 --网站 --你的类库 --libs(第三方库,包括类库) --测验
--任何其他内容

我相信这些引用都会保存在解决方案文件中

对于网站,解决方案文件中有一个部分,如下所示:

Project("{GUID}") = "WebsiteName", "WebsiteName", "GUID"
    ProjectSection(WebsiteProperties) = preProject
        .... removed for brevity ...
        ProjectReferences = "{GUID OF REFERENCED PROJECTS}|ProjectName.dll"
        .... removed for brevity ...
    EndProjectSection
EndProject

希望这能帮助您找到更多不使用网站项目的理由。Web应用程序项目没有这些问题。是的,原因越来越多。不幸的是,这个项目有点混乱。我尝试过几次转换,但放弃了构建它。将代码拉入类库是实现转换的第一步。您找到解决此问题的方法了吗?你能补充一下吗?我也有类似的问题。我无法控制从网站转换为web应用程序的应用程序。希望从subversion中排除bin。我认为。刷新文件是您需要的方式。这里有一个类似的线程被回答为@Becky-我使用SVN(带有用于Windows资源管理器的乌龟插件)。要排除
bin
文件夹,我右键单击它,然后从乌龟上下文菜单中删除/忽略。