问题标签 [web-site-project]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5457 浏览

visual-studio-2010 - Visual Studio 2010 网站项目中的隐藏引用

当我在 VS 2010 中创建一个新的网站项目(不是 Web 应用程序)时,它似乎已经引用了一些 dll。如果我尝试添加 System、System.Core、System.Data,则会收到错误消息,指出“网站已经在引用程序集 'System.Core'”等。当我尝试使用这些程序集之一的数据类型时,它似乎被识别了,我得到了智能感知和所有。但是当我打开网站属性中的引用选项卡时,我看不到这些 dll 添加到 Web.Config 中。这些“默认”引用是否被添加到任何新的秘密位置?

背景资料:

我试图弄清楚这些引用的主要原因是我已经将一个项目从 VS 2008 迁移到 2010,并且我遇到了需要引用 System.Data.DatasetExtensions 的构建错误。但是,该引用存在于 web.config 中,我还可以在项目属性中看到该引用。我还检查了它是否与构建错误具有相同的版本和相同的公钥令牌。下面如果生成错误:错误 BC30007:包含基类 'System.Data.TypedTableBase`1' 的程序集 'System.Data.DataSetExtensions,Version=3.5.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089' 所需的参考。将一个添加到您的项目中。

这是 web.config 中的参考:

如果有人能帮我解决这个问题,我将不胜感激。

谢谢。

注意: 1. 我没有迁移到 Web 应用程序项目的选项。2.在VS 2008中,来自GAC的引用存储在Web.Config中,项目引用存储在解决方案文件中,其他dll引用作为.refresh文件存储在bin文件夹中。我在上述任何地方都找不到这些 dll。

0 投票
4 回答
1596 浏览

c# - 当它使用的方法发生变化时,为什么我需要重新编译页面?

我有一个 aspx 页面,它使用了 App Code 文件夹中的一个类中的方法,doSomething(int[] x). 我将函数定义更改为使用 IEnumerable 而不是数组:doSomething(IEnumerable<int> x)。接下来,我预编译了网站,使用“允许网站可更新”,并发布了新的 App_Code.dll。现在,页面的预编译版本在运行时会出现服务器错误:“找不到方法”。
如果我还发布为页面生成的 DLL,“App_Web_[page].aspx.[random].dll”,它可以工作。所以看起来函数的签名以某种方式嵌入到编译页面中......?为什么会这样,在更改现有代码时有没有办法避免这个问题?
每当我更改公共类中的代码时,我都讨厌更新所有页面 DLL。

0 投票
4 回答
1629 浏览

msbuild - 这是什么 MSDeploy NullReferenceException?

当我从构建脚本运行 MSDeploy 时,我得到了这个 NullReferenceException。有趣的是,项目部署了。这一直让我发疯。注意:这是一个网站项目,而不是一个 Web 应用程序项目。

我在我的构建目标文件中使用它:

这是错误:

有什么想法可以尝试吗?

0 投票
0 回答
811 浏览

msbuild - MSBuild 不接受物理路径或使用属性

我试图让 MSBuild 为我们的网站项目工作,但我遇到了一些问题。

Vitals:IIS 7、VS 2010、TFS 2010、.NET 3.5、网站项目(由于测试时间限制,目前无法选择升级到 Web 应用程序)

我正在使用 TFS 运行 MSBuild。当我在 build.targets 文件中调用 AspNetCompiler 时,我必须提供一个 PhysicalPath。问题是,如果我提供物理路径,即 C:\TFS\MyWebsite\mainline\Source,我会收到以下错误:

ASPNETCOMPILER:目录 'C:\TFS\MyWebsite\mainline\Source' 不存在。

如果我改为提供保留 MSBuild 属性 $(MSBuildProjectDirectory),则脚本会运行,但构建不会出现在任何地方。就好像它做了一个练习。显示一个日志文件,但仅此而已。

关于您正在查看的内容的更多信息:$(TargetPath) 是上面设置的属性(并使用消息任务验证)到 C:\TFS\MyWebsite\mainline\PrecompiledWeb\Source,并且 /mainline 是在我在放置文件夹中指定的服务器。为了好玩,从命令行运行 msbuild 必须使用 $(MSBuildProjectDirectory)。然而,这不是这里的目标。

对我接下来可以检查的内容有什么想法吗?我难住了。

0 投票
1 回答
3090 浏览

asp.net - 为动态编译的 ASP.NET 网站的 App_Code 文件夹提供显式程序集名称?

在动态编译的 ASP.NET 网站项目中,是否可以显式命名 App_Code 文件夹的程序集?

例如,在正常情况下,当我运行 ASP.NET 网站时,生成到Temporary ASP.NET Files\文件夹中的程序集名称是部分随机的,就像 neizakfoApp_Code.neizakfo.dll是可以不同的部分一样。我可以明确地为程序集提供一个名称吗?App_Code_Web1.dll

澄清

根据业务需求,网站不能进行预编译/部署。Temporary ASP.NET Files因此,如上所述,我正在寻找文件夹上下文和动态编译程序集的解决方案。


背景
我在寻找一种方法来使用存储在配置中的程序集限定名称对网站的 App_Code 文件夹中的类执行动态类型实例化时遇到了这个问题,但从网页实例化,因此跨越了程序集边界。因为网页和 app_code 代码默认编译为两个不同的程序集,所以 Type.GetType(..) 方法在当前执行的程序集(网页)或 mscorlib 中搜索类型名称的默认行为不会足以从 App_Code 程序集中选择任何类型。由于是随机的,我不知道 app_code 程序集名称是否包含在程序集限定字符串中。

我可以将数据类型放入类库中(因为它确实有一个预定义/确切的名称)来解决这个问题,但是我想知道如何在网站本身内部执行此操作而不创建类库项目目的。

0 投票
1 回答
31 浏览

web - 我的 VS 2005 网站项目是什么版本?

我认为这会更容易验证,但我已经有一段时间没有使用 VS 2005 了。我有一个网站(不是Web 应用程序)项目,我正在尝试解决其中的一些错误,并且我想验证 .net 运行时版本。

我发现的唯一提示是在属性页的参考部分。有对 System.Windows.Forms v 2.0.0.0 的引用。这是我的答案吗?

0 投票
1 回答
7364 浏览

asp.net - 无法使用预编译的 ASP.NET 网站项目加载文件或程序集 App_Web_ *

我在一个非常具体的页面上遇到了这个问题,我不知道如何解决它。我已经发现了几个 SO 问题(例如ASP.NET 损坏的程序集“无法加载文件或程序集 App_Web_*”无法加载文件或程序集 App_Web_xxxxxxxx 或其依赖项之一)并尝试了他们的解决方案,但无济于事。

回顾一下,这是我尝试过的:

  • batch="false" numRecompilesBeforeAppRestart="50"在 web.config 中设置

  • 重新启动托管此网站的 IIS 网站

  • 清除 ASP.NET 中的临时文件%windir%\Framework64\v4.0.30319\Temporary ASP.NET Files

  • 已调动

...以及上述的任何组合,但无济于事。当我尝试从 VS 运行网站以及在没有预编译的情况下部署网站时,它工作得非常好。

以下是一些环境规格:

  • 预编译是通过 Web 部署项目完成的。无论是 TFS 还是我进行了预编译都没有关系:问题仍然存在

  • .NET 版本为 4.0.30319

  • AppPool 设置:管道模式集成在 .NET 4.0 上

这是我打开时发生的特定错误Customer.aspx

Could not load file or assembly 'App_Web_qxcfa0wv, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

该页面注册了一个名为 的控件UserManagement.ascx,位于~/Controls/UserManagement.ascx

该控件注册了另一个名为 的控件UserDialog.ascx,该控件位于~/Controls/Dialogs/UserControl.ascx

最后一个控件使用一个~/Controls/User.ascx封装了用户数据的控件。没有进一步的依赖关系。

根据堆栈跟踪,错误位于UserDialog.ascx<%@ Control ... %>指令)的第 1 行。

我不知所措。我的猜测是它不起作用,因为~/Controls/Dialogs/UserDialog.ascx需要一个位于父文件夹中的控件,这会导致在运行时出现一些过时的引用。有点像第一个 SO 问题中的问题描述。

但是,我不能简单地通过排除~/Controls/User.ascx控件来测试它,因为那样我在另一个使用的控件中遇到循环引用错误~/Control/UserDialog.ascx,即使该控件也没有注册任何其他控件。只有一个命名空间注册,大多数其他控件都使用它。

我会说循环引用和错误是相关的,但我不能完全说明如何。并非没有绘制整个依赖关系图。

有任何想法吗?

提前致谢!

0 投票
2 回答
1105 浏览

asp.net - 如何在网站项目中强制更新 .ascx 文件内容

我有网站项目,其中包含一些 .ascx 和 .aspx 文件。我<asp:TextBox ID="tb1" runat="server" ... />在 .ascx 文件中添加了新元素,并使用此元素在正确的 .ascx.cs 文件中编写了一些代码tb1.Text = "SomeText";:当我编译这个项目时,我收到以下错误:当前上下文中不存在名称“tb1”。

如何强制刷新 .ascx 页面的标记?我使用网站项目,我无法将其类型更改为 Webapplication。

UPD:我有网站项目,其中没有.ascx.designers.cs 文件。而且我无法将我的项目类型更改为 Web 应用程序。

0 投票
1 回答
3043 浏览

asp.net - 使用 SlowCheetah 和 ASP.NET 网站项目进行 Web.config 转换

我正在尝试ASP.NET Web site project在 Visual Studio 2010 中将 SlowCheetah XML 转换与(不是 ASP.NET Web 应用程序项目)一起使用。

Web.config当我在我的 ASP.NET 网站项目中右键单击该文件时,我Add Transform在上下文菜单中看不到“”项。

(注意:尝试使用 ASP.NET Web 应用程序项目时效果很好)。

  • 是否可以将 SlowCheetah 与 一起使用ASP.NET Web site project
    还是因为这种项目有局限性而“按设计”是不可能的?

可能有一种解决方法将“ Web 部署项目 2010 ”和 SlowCheetah的“ *.targets”文件合并...

0 投票
4 回答
962 浏览

asp.net - asp.net 网站与 Web 应用程序

我在 asp.net 中阅读了很多关于网站与 Web 应用程序的讨论

我们在我的团队(10 名程序员)中工作的方式,我们使用项目类型“网站”,对于我们的开发环境,我们只需将源代码(aspx + .cs)复制到服务器。这样,所有的程序员都可以同时进行更改......并且服务器动态地进行构建。.....(对于 prod 环境,他们构建应用程序)

现在,我开始了一个新项目,我决定使用 Web 应用程序(主要原因是 Web 配置转换选项)。我很快意识到(据我所知)它会迫使你进行构建/发布每次更改都将Web应用程序转移到服务器...如果我是唯一一个从事该项目的人,这不是大问题...

但是,现在我想知道,如果更多的程序员需要同时处理这个新项目会发生什么?

有什么建议或类似情况吗?

编辑

我们正在使用 Visual Source Safe ...但仅用于跟踪旧版本(不适用于构建)...我熟悉 Subversion ...但是..不幸的是,我不决定什么我们应该使用..我不认为他们愿意改变

谢谢大家的回答...