相关疑难解决方法(0)

Visual Studio 2012 RTM关闭后在内存中有MSBuild.exe

我注意到当Visual Studio 2012 RTM关闭时,MsBuild.exe的许多实例仍在内存中.

为什么?

msbuild visual-studio-2012

26
推荐指数
1
解决办法
7955
查看次数

MsBuild没有查找自定义任务的第二级依赖项的良好目录

我写了一个MsBuild任务:MyTask.在我的解决方案中,我有Task项目和其他项目.MyTask引用了一个引用第三个程序集的项目(比如ProjA),比如说(dep1和dep2).

这些项目都构建良好,我将输出放在一个目录(Compil)中.在这个目录中我有我想要的所有dll:MyTask.dll,ProjA.dll,dep1.dll,dep2.dll等.

在我的MsBuild文件中,我包含自定义任务程序集:

<UsingTask AssemblyFile="..\Compil\MyTask.dll" TaskName="CreateSitesCss" />
Run Code Online (Sandbox Code Playgroud)

然后我调用MyTask程序集的任务.该调用执行得很好但是MsBuild抱怨没有找到dep1和dep2程序集(尽管它们位于同一目录中):

错误:无法加载文件或程序集'dep1,Version = 2.0.0.0,Culture = neutral,PublicKey Token = 9109c11469ae1bc7'或其依赖项之一.该系统找不到指定的文件.

我可以通过将dep1.dll和dep2.dll复制到c:\ windows\microsoft .net\framework\v4.0 \来解决这个问题,但我不想这样做,因为它在构建其他项目时会触发问题(赢了' t将dep1.dll和dep2.dll复制到输出目录...).

有没有人有同样的问题,或更好的解决方案?


编辑

这是Fusion Log Viewer的输出

*** Assembly Binder Log Entry  (19/10/2010 @ 17:52:45) ***

The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from:  C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable  c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: User = HEADOFFICE\bbaumann
LOG: DisplayName = ProjA
 (Partial)
WRN: …
Run Code Online (Sandbox Code Playgroud)

msbuild dependencies msbuild-task assembly-resolution probing

6
推荐指数
1
解决办法
1564
查看次数

如果类具有错误的继承,如何抛出异常

我有一个asp.net webforms应用程序.每个aspx.cs类都需要从继承自System.Web.UI.Page的BasePage.cs继承.

所需页面继承:

class MyChildPage : BasePage :  System.Web.UI.Page
Run Code Online (Sandbox Code Playgroud)

如何在创建新子页面时强制它从BasePage.cs而不是System.Web.UI.Page继承?

潜在解决方案

  • 有没有办法更改aspx.cs页面的默认创建?
  • 如果它继承自System.Web.UI.Page,有没有办法抛出编译器错误?

注意:这些子页面共享相同的母版页,这可能会有所帮助.

c# asp.net master-pages compiler-errors

6
推荐指数
2
解决办法
156
查看次数