相关疑难解决方法(0)

如果在解决方案中使用项目依赖项,MSBuild不会复制引用(DLL文件)

我的Visual Studio解决方案中有四个项目(每个人都针对.NET 3.5) - 对于我的问题,这两个项目很重要:

  1. MyBaseProject < - 此类库引用第三方DLL文件(elmah.dll)
  2. MyWebProject1 < - 此Web应用程序项目引用了MyBaseProject

我加入了elmah.dll参考MyBaseProject通过点击在Visual Studio 2008中的"添加引用..."→"浏览"选项卡→选择"elmah.dll".

Elmah Reference的属性如下:

  • 别名 - 全球
  • 复制本地 - true
  • 文化 -
  • 说明 - 错误记录ASP.NET的模块和处理程序(ELMAH)
  • 文件类型 - 装配
  • 路径 - D:\ webs\otherfolder\_myPath\__ tools\elmah\Elmah.dll
  • 已解决 - 真的
  • 运行时版本 - v2.0.50727
  • 指定版本 - false
  • 强名 - 假
  • 版本 - 1.0.11211.0

MyWebProject1中,我通过以下方式添加了对Project MyBaseProject的引用:"Add reference ..."→"Projects"选项卡→选择"MyBaseProject".除以下成员外,此引用的属性相同:

  • 描述 -
  • 路径 - D:\ webs\CMS\MyBaseProject\bin\Debug\MyBaseProject.dll
  • 版本 - 1.0.0.0

如果我在Visual Studio中运行构建,则elmah.dll文件将与MyBaseProject.dll一起复制到MyWebProject1的bin目录中!

但是,如果我清理并运行MSBuild解决方案(通过D:\ webs\CMS> C:\ …

msbuild dependencies reference project visual-studio

271
推荐指数
9
解决办法
14万
查看次数

"复制本地"和项目引用的最佳做法是什么?

我有一个大的c#解决方案文件(~100个项目),我正在努力改善构建时间.我认为"复制本地"在很多情况下对我们来说都是浪费,但我想知道最佳做法.

在我们的.sln中,我们有应用程序A取决于程序集B,它取决于程序集C.在我们的例子中,有几十个"B"和一些"C".由于这些都包含在.sln中,我们正在使用项目引用.所有程序集当前都构建为$(SolutionDir)/ Debug(或Release).

默认情况下,Visual Studio将这些项目引用标记为"复制本地",这会导致每个"C"被复制到$(SolutionDir)/ Debug中,对于构建的每个"B".这似乎很浪费.如果我只关闭"复制本地",会出现什么问题?大型系统的其他人做什么?

跟进:

很多响应建议将构建分解为较小的.sln文件......在上面的示例中,我将首先构建基础类"C",然后是大量模块"B",然后是一些应用程序,"一个".在这个模型中,我需要对来自B的C进行非项目引用.我遇到的问题是"Debug"或"Release"被添加到提示路径中,我最终构建了我的Release版本的"B"反对"C"的调试版本.

对于那些将构建拆分为多个.sln文件的人,如何管理这个问题?

.net c# msbuild visual-studio

154
推荐指数
7
解决办法
9万
查看次数

在Visual Studio中复制DLL的依赖项

如何在Visual Studio中设置项目以复制项目引用之一所依赖的第三方DLL?

我有一个主应用程序项目和一个类库DLL.主应用程序引用类库DLL,DLL本身引用一些第三方DLL.当我编译主应用程序时,它会自动将类库DLL复制到其输出目录,但它不会复制第三方DLL.

我不想从主应用程序项目添加对第三方DLL的引用,因为主应用程序不使用它们,它们仅由类库使用.

dll visual-studio

63
推荐指数
3
解决办法
6万
查看次数

使用Telerik组件正确部署应用程序

我有以下项目结构:

  • 类库
    • 参考Telerik控件
  • 主机申请
    • 参考类库

类库中有几个用户控件,其中包含telerik组件。我有一个宿主应用程序,该应用程序承载了类库中的这些用户控件。

现在的问题是,尽管引用了库中的telerik dll,但我仍然必须在主机应用程序中引用telerik dll。否则它将XamlParseException在运行时抛出。虽然它编译没有错误。

PresentationFramework.dll中发生类型为'System.Windows.Markup.XamlParseException'的第一次机会异常

附加信息:无法加载文件或程序集'Telerik.Windows.Controls.GridView,PublicKeyToken = 5803cfa389c90ce7'或其依赖项之一。该系统找不到指定的文件。

为什么会这样呢?为什么需要复制dll。

我正在使用带有版本的Telerik dll 2015.2.623.45


重现此问题: 我们可以只使用一个用户控件创建一个库

<UserControl>
       <Grid>
          <telerik:RadGridView></telerik:RadGridView>  
       </Grid>
 </UserControl>
Run Code Online (Sandbox Code Playgroud)

然后创建另一个引用该类库的项目

<Window>
    <Grid>
        <wpfApplication1:UserControl1/>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

并尝试运行它。

(为简便起见,我省略了xmlns定义)

.net c# wpf telerik

3
推荐指数
1
解决办法
2378
查看次数

标签 统计

visual-studio ×3

.net ×2

c# ×2

msbuild ×2

dependencies ×1

dll ×1

project ×1

reference ×1

telerik ×1

wpf ×1