我的Visual Studio解决方案中有四个项目(每个人都针对.NET 3.5) - 对于我的问题,这两个项目很重要:
我加入了elmah.dll参考MyBaseProject通过点击在Visual Studio 2008中的"添加引用..."→"浏览"选项卡→选择"elmah.dll".
Elmah Reference的属性如下:
在MyWebProject1中,我通过以下方式添加了对Project MyBaseProject的引用:"Add reference ..."→"Projects"选项卡→选择"MyBaseProject".除以下成员外,此引用的属性相同:
如果我在Visual Studio中运行构建,则elmah.dll文件将与MyBaseProject.dll一起复制到MyWebProject1的bin目录中!
但是,如果我清理并运行MSBuild解决方案(通过D:\ webs\CMS> C:\ …
我有一个大的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文件的人,如何管理这个问题?
如何在Visual Studio中设置项目以复制项目引用之一所依赖的第三方DLL?
我有一个主应用程序项目和一个类库DLL.主应用程序引用类库DLL,DLL本身引用一些第三方DLL.当我编译主应用程序时,它会自动将类库DLL复制到其输出目录,但它不会复制第三方DLL.
我不想从主应用程序项目添加对第三方DLL的引用,因为主应用程序不使用它们,它们仅由类库使用.
我有以下项目结构:
类库中有几个用户控件,其中包含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定义)