我知道 this问题(和答案),但尽管尝试了所有建议的选项,我仍然被卡住了。
我有一个包含多个项目的解决方案,但对于这个特殊情况,假设我有我的 ExampleProjectA
和相应的单元测试项目 ExampleProjectATest
.第一个添加为对测试项目的引用 - 不是通过 Visual Studio 的 "Project References"
但是作为DLL的链接(类似于"..\Path\$(Config)\ExampleProjectA.dll"
)-这是由于我们公司构建服务器的要求,但是当我们还有"Project References"
时,问题也存在。 .
ExampleProjectA
,即使这不是必需的 ExampleProjectA
中设置所有(只有少数)文件在各自的属性中从“始终复制”到“如果更新则复制”没有帮助Tools => Options => Projects and Solutions => Build an Run
下的复选框(见下文)也没有改变任何东西 ExampleProjectA
被触发,输出窗口中的第一行是namegeneratortest.cs
)根据我更改的测试文件而变化。Project properties => Build => Advanced => Output => Debug Info => None
:Configuration Manager
中的build设置到不同的目标平台 - 有些设置不会让我成功构建解决方案,其他一些设置可以,但所描述的问题仍然存在,所以没有改变。ExampleProjectA
必须重建,这不应该是必要的。输出窗口的后续消息还显示其他项目(从 ExampleProjectA
引用)必须重建。最佳答案
对于我的情况,解决方案是将配置文件的构建操作从“始终复制”更改为“如果更新则复制”。花了一段时间才找到,因为我必须更改构建输出详细信息以获取有关哪个文件导致错误的详细信息,例如Project 'xyz' is not up to date. Project item 'c:\my\path\web.config.dev' has 'Copy to Output Directory' attribute set to 'Copy always'.
根据我的经验,多次构建时也可能会显示不同的文件名,因此请确保您拥有正确的文件名和/或如果问题仍然存在,请再次构建。
也看看this question and its answers查找更多信息。
https://stackoverflow.com/questions/23062116/